+ function () {} ();Le signe plus peut également être remplacé par d'autres opérateurs unaires tels que!, Et l'effet est équivalent à:
(function () {console.log ("foo!");}) (); // ou (function () {console.log ("foo!");} ());Sans ce signe plus, l'analyseur pensera que la fonction est le début d'une déclaration de fonction, et la suivante () entraînera une erreur de syntaxe. Lorsque le signe + est ajouté avant la fonction, il devient une expression de fonction, et lorsque A () est ajouté après l'expression de la fonction, il devient une fonction immédiatement exécutée.
Jetons un coup d'œil à la fonction du point d'exclamation devant la fonction JS:
1. Formulaire de déclaration de fonction JS
fonction fna () {alert ('msg');} // Fonction de définition de déclaration2.
var func = fonction (AGR1, Arg2) {// Créer une alerte de fonction anonyme (arg1 + '' + arg2);}3. Formats courants pour exécuter immédiatement après la déclaration de fonction anonyme JS
(function () {/ * code * /}) ();illustrer
1. La première paire de supports entourant la fonction (fonction () {}) renvoie la fonction sans nom dans le script, puis une paire de supports vides exécute immédiatement la fonction sans nom retournée, avec les paramètres de la fonction anonyme dans les supports.
2. Utilisez des supports pour définir le corps de la fonction, et l'analyseur appellera la fonction de définition sous la forme d'une expression de fonction. En d'autres termes, toute méthode qui peut transformer une fonction en une expression de fonction peut permettre à l'analyseur d'appeler correctement la fonction définie. Et! est l'un d'eux, et + - || a une telle fonction.
3. La fonction de cette fonction est principalement une exécution anonyme et automatique.