Tout d'abord, je ne comprends pas très bien les déclarations de fonctions et les expressions de fonctions. J'utilise essentiellement des déclarations de fonctions et je sais qu'elles seront préfixées. Dans mon esprit, je ne sais pas si l’expression de fonction a un nom de fonction parce que je ne l’ai pas beaucoup utilisée ? Aujourd'hui, j'ai vu attribuer une fonction à une variable et j'ai découvert que cela semble être la même chose qu'une expression de fonction. J'espère que quelqu'un pourra y répondre, merci.
var s = function square (x){
return x*x;
}
console.log(square(4));
console.log(s(4))
La question 1 ci-dessus, la suivante est la question 2, pourquoi le code ci-dessus signale-t-il une erreur « le carré n'est pas défini », alors que le code suivant s'affiche normalement C'est parce que le code ci-dessus appartient à une expression de fonction, donc ce n'est pas le cas ? supporte le carré (4), non ? Au moment où j'écris ceci, j'ai soudainement envie de demander, l'expression de la fonction consiste à écrire <var xx => sur la même ligne avant la fonction de la fonction, et l'attribution de la fonction à une variable est simplement basée sur la déclaration de fonction, en démarrant un nouvelle ligne <var xx = nom de la fonction>, est-ce vrai ? S'il vous plaît, aidez-moi, merci
function square (x){
return x*x;
}
var s = square;
console.log(square(4));
console.log(s(4))
Concernant la question 2,
l'expression consiste à créer directement une fonction en tant que variable, et la fonction externe n'existe pas.
Lorsqu'une fonction est affectée à une variable, la fonction vient en premier, puis la variable.
Nous avons donc la réponse à la première question. s lui-même est une fonction, et cette fonction n'existe pas en externe, donc l'erreur n'existe pas.
De plus, il doit s'écrire ainsi :
Deux questions ont la même réponse. Le nom de fonction d'une expression de fonction est en lecture seule et ne peut être référencé que dans cette fonction. Il est généralement utilisé à des fins de récursivité.