javascript - Déclaration de fonction JS et expression de fonction
世界只因有你
世界只因有你 2017-07-05 10:55:27
0
4
881

`alert(sum(10,10));
var sum=function(num1,num2){

   return num1+num2;

};`
Pourquoi l'erreur est-elle signalée ? N'y a-t-il pas de promotion variable ?

世界只因有你
世界只因有你

répondre à tous(4)
phpcn_u1582

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();

Lisez mon article : http://www.jianshu.com/p/85a2...

扔个三星炸死你

Les expressions de fonction ne sont pas hissées.

Lisez à nouveau « Programmation avancée Javascript ».

phpcn_u1582

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(){}; //简单来讲就是表达式的赋值必须要等程序运行到相关行的时候才会进行
ringa_lee

Comme ci-dessus, votre méthode de création de fonction est sous forme littérale de fonction, remplacez-la par

alert(sum(10,10));
function sum(num1,num2){
    return num1+num2;
}

C'est ça

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal