En JavaScript, une fonction anonyme est une fonction sans identifiant. Il peut être créé à l'aide d'une expression de fonction, ce qui implique d'attribuer la fonction à une variable ou de l'utiliser directement.
Comprendre le fonctionnement des fonctions anonymes est crucial. Lorsque vous écrivez une expression de fonction :
(function (msg) { alert(msg); })
vous créez une fonction anonyme. Cependant, vous devez exécuter l'expression de fonction immédiatement en la plaçant entre parenthèses et en ajoutant des arguments entre parenthèses :
(function (msg) { alert(msg); })('SO');
Tenter de séparer l'expression de fonction de l'exécution, comme indiqué ci-dessous, ne fonctionnera pas :
(function (msg) { alert(msg); }); ('SO');
En effet, l'expression de fonction crée un objet fonction. Pour exécuter la fonction, vous devez l'invoquer en la faisant suivre de parenthèses et d'arguments. L'omission des parenthèses après l'expression de la fonction empêche son exécution.
Voici une explication alternative tirée de la spécification ECMA Script. Les définitions de fonctions se présentent sous trois formes : en utilisant le constructeur Function, en utilisant une déclaration de fonction ou en utilisant une expression de fonction.
Une expression de fonction vous permet de créer une fonction anonyme en omettant le identifiant :
function (msg) { return a + b; }
Armés de cette connaissance, décomposons votre code d'origine :
(function (msg) { // ... })();
Ce code crée un identifiant anonyme fonction et l’exécute immédiatement en l’enveloppant entre parenthèses. La portée de la fonction est désormais fermée et vous ne pouvez plus accéder à ses variables ou méthodes depuis l'extérieur de la fonction.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!