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

Explication détaillée des méthodes d'appel et d'écriture de fonctions anonymes en Javascript (différents types)_compétences javascript

WBOY
WBOYoriginal
2016-05-16 15:17:571168parcourir

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 anonyme
typeof function(){
console.log(this) // 浏览器得控制台输出window
}(this) 

Méthode 8, ajouter delete

avant la fonction anonyme
delete function(){
console.log(this) // 浏览器得控制台输出window
}(this) 

Méthode 9, ajouter void

avant la fonction anonyme
void 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~

Le signe

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.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn