Maison > Article > interface Web > Comment comprendre les fonctions anonymes JS
La forme de base d'une fonction anonyme est (function(){...})(); le premier crochet contient le corps de la fonction, et le deuxième crochet consiste à transmettre des paramètres à la fonction anonyme et à l'exécuter immédiatement. La fonction de la fonction anonyme est d'éviter la pollution des variables globales et les conflits de noms de fonction.
1. La fonction des parenthèses
Les parenthèses peuvent diviser notre combinaison d'expressions en blocs, et chaque bloc, c'est-à-dire chaque paire de parenthèses, a une valeur de retour. Cette valeur de retour est en fait la valeur de retour de l'expression entre parenthèses. Par conséquent, lorsque nous utilisons une paire de parenthèses pour entourer une fonction anonyme, ce que la paire de parenthèses renvoie en réalité est un objet Function de la fonction anonyme. Par conséquent, la paire de parenthèses plus la fonction anonyme est comme une fonction nommée, et nous obtenons sa position de référence. Ainsi, si vous ajoutez une liste de paramètres après cette variable de référence, la forme d'appel d'une fonction ordinaire sera obtenue.
Pour faire simple, les parenthèses ont une valeur de retour, qui est la valeur de retour de la fonction ou de l'expression entre parenthèses, donc la valeur de retour de la fonction entre parenthèses est égale à la valeur de retour des parenthèses
2. Comment écrire des fonctions anonymes
Méthode 1, appeler la fonction et obtenir la valeur de retour. L'opérateur de coercition provoque l'exécution de l'appel de fonction
(function(x,y){
alert(x+y); >}(3,4)); >Méthode 2, appelez la fonction et obtenez la valeur de retour. Forcer l'exécution directe de la fonction puis renvoyer une référence. La référence est alors appelée et exécutée
(function(x,y){
alert(x+y);
return x +y;
})(3,4);
Cette méthode est également une méthode d'appel préférée utilisée par de nombreuses bibliothèques, telles que jQuery et Mootools.
Méthode 3, utilisez void
void function(x) {
x = x-1;
alert(x);
}(9);
Méthode 4, utilisez l'opérateur -/+
-function(x,y){
alert(x+y);
retour x+y;
}(3,4);
+function(x,y){
alerte(x+y); 🎜>
retour x+y;}(3,4);--function(x,y){alerte(x+y ) ;retour x+y;}(3,4);++fonction(x,y){alerte(x + y);return x+y;}(3,4); Méthode 5, utilisez la fonction tilde (~)~ ( x, y) {alert(x+y);return x+y;}(3, 4); Méthode 6); , l'exécution de fonctions anonymes est placée entre crochets [function(){console.log(this) // La fenêtre de sortie de la console du navigateur} (this)] Méthode 7, ajouter typeoftypeof function(){console.log(this) // Fenêtre de sortie de la console du navigateur }(this) Méthode 8, ajouter une suppressiondelete function(){console.log(this) // Parcourir Obtenez la fenêtre de sortie de la console}( this) Méthode 9, ajouter voidvoid function(){console.log avant la fonction anonyme (this) // Le navigateur doit consoler la fenêtre de sortie}(this) Méthode 10, utiliser une nouvelle méthode, transmettre les paramètres nouvelle fonction (win){console.log(win) // window}(this) Méthode 11, utiliser new, ne pas transmettre de paramètres new function(){ console.log(this) // Ceci ici n'est pas une fenêtre } Méthode 12, opérateur virgule fonction(){ console.log(this) // fenêtre }(); Mode 13, opérateur XOR au niveau du bit ^function() {console.log(this) // window}(); Mode 14, opérateur de comparaisonfonction(){console.log(this) // fenêtre }(); Enfin, regardez la mauvaise méthode d'appelfunction(x,y){alert(x+y);return x+y;}(3,4); N façons d'écrire des fonctions anonymes sont les suivantes. La fonction anonyme n'a pas de nom réel ni de pointeur. Comment l'exécuter ? Concernant la méthode d'écriture des fonctions anonymes, elle est très divergente~ Le signe + sert à convertir la déclaration de fonction en expression de fonction. Résumons les utilisations les plus courantes de : Le code est le suivant : (function() { alert('water'); })(); peut également prendre des paramètres : Le code est le suivant :(function(o) { alert(o) ; })('water'); Vous souhaitez utiliser des appels en chaîne de fonctions anonymes ? Très simple : Le code est le suivant :(function(o) { console.log(o); return arguments.callee ; })('water')('down'); Nous connaissons tous les fonctions anonymes courantes, jetons un coup d'œil aux plus rares : Le le code est le suivant : ~(function(){ alert('water'); })();//L'écriture est un peu cool~ Le code est le suivant :void function(){ alert('water'); }();//C'est considéré comme le plus efficace ~ Le code est le suivant : +function(){ alert('water'); } (); Le code est le suivant :-function(){ alert('water'); }();Le code est le suivant :~function(){ alert ('water'); }();Le code est le suivant :!function(){ alert('water'); }(); Le code est comme suit :(function(){
alert('water');
}());//Cela semble un peu forcé~
Recommandations associées :
Fonction de rappel PHP Et explication détaillée des fonctions anonymes
Partage du concept et de l'utilisation des fonctions anonymes JS
Explication détaillée des fonctions anonymes PHP et des classes anonymes
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!