Maison > interface Web > js tutoriel > Une brève analyse de la différence entre la déclaration de fonction et l'expression de fonction dans les compétences javascript_javascript

Une brève analyse de la différence entre la déclaration de fonction et l'expression de fonction dans les compétences javascript_javascript

WBOY
Libérer: 2016-05-16 16:13:53
original
1015 Les gens l'ont consulté

Il existe deux manières de déclarer des fonctions en JavaScript : la déclaration de fonction et l'expression de fonction.

Les différences sont les suivantes :

1). Pour les fonctions définies par déclaration de fonction, le nom de la fonction est obligatoire, tandis que le nom de la fonction de l'expression de la fonction est facultatif.

2). Pour les fonctions définies par déclaration de fonction, la fonction peut être appelée avant la déclaration de fonction, tandis que la fonction de l'expression de fonction ne peut être appelée qu'après la déclaration.

3). Les fonctions définies par la déclaration de fonction ne sont pas de vraies déclarations. Elles ne peuvent apparaître que globalement ou imbriquées dans d'autres fonctions, mais elles ne peuvent pas apparaître dans des boucles, des conditions ou try/catch/finally, et

Les expressions de fonction peuvent être déclarées n'importe où.

Les fonctions sont définies de deux manières ci-dessous :

Copier le code Le code est le suivant :

//Déclaration de fonction
fonction salutation(){
console.log("bonjour tout le monde");
>
//Expression de fonction
var salutation = fonction(){
console.log("bonjour tout le monde");
>

Un javascript intéressant ci-dessous :

Copier le code Le code est le suivant :

function f() { console.log('Je suis dehors !'); }
(fonction () {
si(faux) {
// Répétez la déclaration de la fonction f
Function f() { console.log('Je suis à l'intérieur !'); }
>
f();
}());

Qu'est-ce qui sera affiché ? La première réaction devrait être "Je suis dehors". Le résultat est "Je suis à l'intérieur" dans Chrome, IE11 signale directement une erreur, et la version inférieure de Firefox affiche "Je suis dehors". .

Les résultats générés par Chrome reflètent clairement les caractéristiques des fonctions déclarées à l'aide des déclarations de fonction : la fonction peut être appelée avant d'être déclarée.

L'erreur IE montre que l'objet est manquant car la fonction est déclarée dans la condition, ce qui viole le principe de déclaration de fonction.

Portée de l'expression de la fonction :

Si la fonction déclarée par l'expression de fonction a un nom de fonction, alors 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.

Copier le code Le code est le suivant :
var f = fonction fait(x) {
Si (x <= 1)
                       return 1 ;
                                                                                                                                                                                                                                                                                                                                     return x*fact(x-1);
                  };
// Uncaught ReferenceError : le fait n'est pas défini


fact() peut être appelé à l'intérieur de la fonction, mais lorsqu'il est appelé en dehors de la fonction, une erreur sera signalée : le fait n'est pas défini


Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal