Ci-dessous des exemples de fonction:
Une fonctino peut etre anonyme , nommée, autoexecutée.
Enfin une fonction peut etre utilisée comme constructeur.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function fonc1() { | |
console.log("je passe par appel de fonc1"); | |
}; | |
//Appel de la fonction | |
fonc1(); | |
var b= function fonc() { | |
console.log("je passe par appel de fonc via la varible b"); | |
}; | |
// La variable 'b' est initialisée avec une fonction | |
// mais la fonction n'est pas appelée | |
b(); | |
// appel de la fonction fonc via la varible qui contient la fonction | |
//appel de fonct sans passer par b. | |
// fonc(); !!! Erreur d exécution fonc n'est pas déclaré | |
var c= function(){ | |
console.log("je passe par appel d une fonction anonyme via la varible c"); | |
}; | |
//appel de la fonction anonyme via la variable qui contient sa reference | |
c(); | |
// les fonctions autoexecutées | |
var a= function auto() { | |
console.log("je passe"); | |
}(); | |
// la variable 'a' est initalisée avec le corps d'une fonction et les parenthèses (); de fin de déclaration | |
// provoque l exécution de la fonction. | |
(function auto() { | |
console.log("je passe anom"); | |
})(); | |
//la fonction anonyme est autoexecutée, elle ne pourra pas etre appelée par ailleurs. | |
// fontion qui sert de constructeur | |
function MyClass(n){ | |
this.nom= n; | |
}; | |
une_instance= new MyClass('spiderman'); | |
console.log("fonction constructeur " + une_instance.constructor.name ); | |
for (x in une_instance) { | |
console.log("je trouve:"+ x); | |
}; |
L'exécution donnera :
node essaifunc.js
je passe par appel de fonc1
je passe par appel de fonc via la varible b
je passe par appel d une fonction anonyme via la varible c
je passe
je passe anom
fonction constructeur MyClass
je trouve:nom
Pour qu'une fonction soit autoexecutée , sa définition doit se terminer par (); ou (arg);
Ce type de fonction est utile pour lancer des actions dès la déclaration de la fonction (exemple à partir de son chargement dans un navigateur).
Une fonction se rapproche un peu de la notion de méthode dans des langages à base de classe. Mais il y plus de ressemblance avec la notion de bloc en tant que paramètre en Ruby.
Une fonction en javascript accepte m'importe quel nombre de parametre.
En cas d'absence d'un parametre , il sera assigné à la valeur indéfinie , mais la fonction ne levera pas d'exception.
Les parametres passées en plus sont disponibles dans un tableau arguments.
Aucun commentaire:
Enregistrer un commentaire