Maison >interface Web >js tutoriel >Explication détaillée des méthodes d'appel et d'écriture de fonctions anonymes en Javascript (différents types)_compétences javascript
Il existe de nombreuses façons de définir des fonctions en Javascript, et les littéraux de fonction en font partie. Par exemple, var fun = function(){}, si la fonction n'est pas affectée à fun, alors c'est une fonction anonyme. Bon, voyons comment la fonction anonyme est appelée.
Méthode 1, appelez la fonction et obtenez la valeur de retour. L'opérateur de coercition provoque l'exécution des appels de fonction
(function(x,y){ alert(x+y); return 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, puis la référence est 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, utiliser l'opérateur -/
-function(x,y){ alert(x+y); return x+y; }(3,4); +function(x,y){ alert(x+y); return x+y; }(3,4); --function(x,y){ alert(x+y); return x+y; }(3,4); ++function(x,y){ alert(x+y); return x+y; }(3,4);
Méthode 5, utilisez le tilde (~)
~function(x, y) { alert(x+y); return x+y; }(3, 4);
Méthode 6, l'exécution de fonction anonyme est placée entre crochets
[function(){ console.log(this) // 浏览器得控制台输出window }(this)]
Méthode 7, ajouter typeof
avant la fonction anonymetypeof function(){ console.log(this) // 浏览器得控制台输出window }(this)
Méthode 8, ajouter delete
avant la fonction anonymedelete function(){ console.log(this) // 浏览器得控制台输出window }(this)
Méthode 9, ajouter void
avant la fonction anonymevoid function(){ console.log(this) // 浏览器得控制台输出window }(this)
Méthode 10, utilisez une nouvelle méthode pour transmettre les paramètres
new function(win){ console.log(win) // window }(this)
Méthode 11, utiliser new, ne pas transmettre de paramètres
new function(){ console.log(this) // 这里的this就不是window了 }
Méthode 12, opérateur virgule
function(){ console.log(this) // window }();
Mode 13, opérateur XOR au niveau du bit
^function(){ console.log(this) // window }();
Méthode 14, opérateur de comparaison
function(){ console.log(this) // window }();
Enfin, regardez la mauvaise méthode d'appel
function(x,y){ alert(x+y); return x+y; }(3,4);
N façons d'écrire des fonctions anonymes sont les suivantes
Les fonctions anonymes n'ont pas de noms réels ni de pointeurs. Comment les exécuter ?
Sur la façon d'écrire des fonctions anonymes, c'est très divergent~
convertit une déclaration de fonction en une expression de fonction. Résumez-le
Utilisation la plus courante :
Le code est le suivant :
(function() { alert('water'); })();
Bien entendu, vous pouvez é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 code est le suivant :
~(function(){ alert('water'); })();//写法有点酷~
Le code est le suivant :
void 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 le suivant :
!function(){ alert('water'); }();
Le code est le suivant :
(function(){ alert('water'); }());//有点强制执行的味道~
Ce qui précède vous a expliqué comment appeler et écrire des fonctions anonymes en Javascript. J'espère que cela vous sera utile.