Cet article décrit l'utilisation des fonctions anonymes en JavaScript. Partagez-le pour votre référence. Les détails sont les suivants:
1. Définir une fonction
En JavaScript, une fonction peut être définie par "Déclaration de fonction" et "expression de fonction", par exemple
1. Définissez une fonction par "Déclaration de fonction"
fonction t1 () {}2. Définissez une fonction par "Expression de fonction"
t2 = fonction () {}Cependant, les deux façons de définir les fonctions ont des effets différents
T1 est une déclaration de fonction. Quand 'Lexical Analysis', ao.t1 = function () {}, -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
T2 est une opération d'affectation. Lorsque 'run', ao.t2 = function () {}, la valeur est le résultat renvoyé par l'expression à droite, et il ne fonctionne que dans l'étape 'Run'.
2. Fonctions anonymes
Dans JavaScript, l'instruction dans Bracets () est exécutée comme une expression. Comme mentionné ci-dessus, vous pouvez utiliser "l'expression de la fonction" pour définir une fonction, afin que nous puissions définir une fonction dans (), comme
(fonction t3 () {alert ('je suis t3');})Si la fonction n'utilise pas le nom, modifiez-le comme suit
(function () {alert ('je suis t3');})Étant donné que l'instruction contenue dans () est une expression, elle a une valeur de retour. La valeur de retour de (function () {alert ('je suis t3');}) est une fonction définie et peut être appelée immédiatement, telle que
(function () {alert ('je suis t3');}) ()Par conséquent, une fonction sans nom est définie dans Bracets (), qui est appelée fonction anonyme. Cette méthode, les fonctions anonymes, s'exécute immédiatement sans polluer la situation globale, s'appelle immédiatement les expressions de fonctions.
3. JQuery est une fonction anonyme
Le code de jQuery est encapsulé dans une fonction anonyme, qui est le code le plus à l'extérieur de jQuery:
(fonction (fenêtre, indéfinie) {}) (fenêtre); // appelle maintenantMais pourquoi jQUERY passe-t-il la fenêtre mais pas non définie?
Réponse: La fenêtre de passage est de trouver de la vitesse et de réduire le temps pour interroger les variables. Par exemple, le code JS suivant
function () {function () {function () {function () {function () {document.getElementById (); // Ce document sera recherché par calque par calque le long de la portée jusqu'à la fenêtre la plus externe globalement. }}}}JQuery doit accélérer la recherche interne des variables locales et passer directement la fenêtre en tant que paramètres, de sorte que la fenêtre est sur l'AO à l'intérieur jQuery.
Il est à des fins de sécurité de ne pas passer indéfiniment, car dans les versions inférieures de IE et FF, non définie peut en fait être réaffectée, comme non définie = 3;
Déclarez la variable locale non définie (le nom n'est pas défini), et en même temps, sans passer les paramètres, la valeur n'est naturellement pas définie
J'espère que cet article sera utile à la programmation JavaScript de tous.