Il existe deux façons de déclarer des fonctions dans JavaScript: la fonction déclarative et l'expression de la fonction.
Les différences sont les suivantes:
1). Pour les fonctions définies par les méthodes déclarées par fonction, le nom de la fonction est nécessaire, tandis que le nom de fonction de l'expression de la fonction est facultatif.
2). Les fonctions définies par les méthodes déclarées par la fonction peuvent être appelées avant la déclaration de fonction, tandis que les fonctions d'expressions de fonction ne peuvent être appelées qu'après la déclaration.
3). Les fonctions définies par les méthodes déclarées par fonction ne sont pas des déclarations réelles. Ils ne peuvent apparaître que dans le monde ou les imbriquées dans d'autres fonctions, mais ils ne peuvent pas apparaître dans les boucles, les conditions ou essayer / capter / enfin, et enfin, et
Les expressions de fonction peuvent être déclarées n'importe où.
Voici deux méthodes pour définir la fonction:
La copie de code est la suivante:
// Formule déclarative de fonction
Fonction Greeting () {
Console.log ("Hello World");
}
// Fonction Expression
var salutation = fonction () {
Console.log ("Hello World");
}
Voici un JavaScript intéressant:
La copie de code est la suivante:
fonction f () {console.log ('je suis à l'extérieur!'); }
(fonction () {
if (false) {
// répéter la fonction f
fonction f () {console.log ('je suis à l'intérieur!'); }
}
f ();
} ());
Quelle sera la sortie? La première réaction devrait être "Je suis à l'extérieur". En conséquence, "Je suis à l'intérieur" est la sortie dans Chrome, IE11 a directement signalé une erreur, et la version inférieure des sorties de Firefox "Je suis à l'extérieur" ...
Le résultat de la sortie chromée reflète clairement les caractéristiques des fonctions déclarées avec des expressions déclaratives de fonction - les fonctions peuvent être appelées avant la déclaration.
IE Erreur montre que l'objet est manquant car la déclaration de fonction est dans la condition, ce qui viole le principe de la déclaration de fonction.
Portée des expressions de fonction:
Si la fonction déclarée par l'expression de la fonction a un nom de fonction, le nom de la fonction est équivalent à une variable locale de la fonction et ne peut être appelé qu'à l'intérieur de la fonction. Par exemple, un châtaignier:
La copie de code est la suivante:
var f = fonction fact (x) {
si (x <= 1)
retour 1;
autre
retour x * fait (x-1);
};
alerte (fact ()); /-
fact () peut être appelé à l'intérieur de la fonction, mais une erreur sera signalée lorsqu'elle sera appelée en dehors de la fonction: le fait n'est pas défini
Ce qui précède est tout sur cet article, j'espère que vous l'aimez.