Lorsque nous écrivons du code js, nous avons deux manières d'écrire, l'une est l'expression de fonction et l'autre est la déclaration de fonction. Ce sur quoi nous devons nous concentrer est :
Seuls les formulaires de déclaration de fonction peuvent être promus.
1. Formulaire de déclaration de fonction [Succès]
function myTest(){
foo();
function foo(){
alert("我来自 foo");
}
}
myTest();
2. Méthode d'expression de fonction [Échec]
function myTest(){
foo();
var foo =function foo(){ // 看这里
alert("我来自 foo");
}
}
myTest();
La déclaration et l'expression sont différentes. Si vous déclarez, non seulement la définition sera faite à l'avance, mais l'affectation sera également faite à l'avance, mais pas l'expression.
a();
function a(){}; //等同于
var a = function(){};
a();
///////对于表达式有
a();
var a = function(){}; //等同于
var a;
a();
a = function(){}; //简单来讲就是表达式的赋值必须要等程序运行到相关行的时候才会进行
Lorsque nous écrivons du code js, nous avons deux manières d'écrire, l'une est l'expression de fonction et l'autre est la déclaration de fonction.
Ce sur quoi nous devons nous concentrer est :
1. Formulaire de déclaration de fonction [Succès]
2. Méthode d'expression de fonction [Échec]
Lisez mon article : http://www.jianshu.com/p/85a2...
Les expressions de fonction ne sont pas hissées.
Lisez à nouveau « Programmation avancée Javascript ».
La déclaration et l'expression sont différentes. Si vous déclarez, non seulement la définition sera faite à l'avance, mais l'affectation sera également faite à l'avance, mais pas l'expression.
Comme ci-dessus, votre méthode de création de fonction est sous forme littérale de fonction, remplacez-la par
C'est ça