Maison >interface Web >js tutoriel >Introduction aux différences dans la façon dont les fonctions JS sont définies_Connaissances de base

Introduction aux différences dans la façon dont les fonctions JS sont définies_Connaissances de base

WBOY
WBOYoriginal
2016-05-16 15:08:261335parcourir

Il existe deux manières de définir des fonctions en JS :

(1) Déclaration de fonction typique

function slide(arguments){ 
//...code
}

(2) Définir des fonctions sous forme d'expressions de fonction

var slide = function(arguments){
//...code
}

Bien que les deux méthodes ci-dessus soient logiquement équivalentes, il existe encore quelques petites différences :

Différence 1 : La fonction de l'exemple 1 sera chargée dans la portée avant que le code ne soit exécuté, tandis que dans l'exemple 2, elle ne sera définie que lorsque le code sera exécuté sur cette ligne
; Différence 2 : La déclaration de fonction attribue un nom à la fonction, tandis que l'expression de fonction crée une fonction anonyme puis attribue la fonction anonyme à une variable

;


Regardez l'exemple ci-dessous :

function factorial(num){
if(num<=1){
return 1;
}
else {
return num*arguments.callee(num-1);
}
}
var anotherFactorial = factorial;
factorial = null;
console.log(anotherFactorial);//输出factorial(){},有函数名
若是以函数表达式定义
var factorial = function(num){
//...code
}
//...code
console.log(anotherFactorial);//输出function(){},匿名函数

L'introduction ci-dessus aux différences dans les méthodes de définition des fonctions JS est tout le contenu partagé par l'éditeur. J'espère qu'il pourra vous donner une référence et j'espère que vous soutiendrez davantage Script Home.

Déclaration:
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