Heim >Web-Frontend >js-Tutorial >Analyse der Verwendung anonymer JavaScript-Funktionen_Javascript-Kenntnisse
Die Beispiele in diesem Artikel beschreiben die Verwendung anonymer JavaScript-Funktionen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
1. Definieren Sie eine Funktion
In JavaScript kann eine Funktion durch „Funktionsdeklaration“ und „Funktionsausdruck“ definiert werden, z. B.
1. Definieren Sie eine Funktion durch „Funktionsdeklaration“
function t1(){}
2. Definieren Sie eine Funktion durch „Funktionsausdruck“
t2 = function(){}
Aber die Auswirkungen der Definition von Funktionen auf zwei Arten sind unterschiedlich
t1 ist eine Funktionsdeklaration, AO.t1 = function(){},------------es wird in der Phase der „lexikalischen Analyse“ eine Rolle spielen
t2 ist eine Zuweisungsoperation, AO.t2 = function(){}, der Wert ist das Ergebnis, das vom Ausdruck auf der rechten Seite zurückgegeben wird, ------er kommt nur beim „run“ ins Spiel. Bühne
2. Anonyme Funktion
In JavaScript werden Anweisungen in Klammern () als Ausdrücke ausgeführt. Wie oben erwähnt, können Sie „Funktionsausdrücke“ verwenden, um eine Funktion zu definieren, z. B.
(function t3(){alert(' i am t3');})
Wenn die Funktion keinen Namen verwendet, ändern Sie ihn wie folgt
(function(){alert(' i am t3');})
Da die in () enthaltene Anweisung ein Ausdruck ist, hat sie einen Rückgabewert von (function(){alert(' i am t3');}) ist die definierte Funktion, die sofort aufgerufen werden kann , wie zum Beispiel
(function(){alert(' i am t3');})()
Definieren Sie daher eine Funktion ohne Namen in Klammern (), die als anonyme Funktion bezeichnet wird. Auf diese Weise werden anonyme Funktionen sofort ausgeführt, ohne die globale Situation zu beeinträchtigen, was als sofortige Ausführung von Funktionsausdrücken bezeichnet wird.
3. jquery ist eine anonyme Funktion
Der Code von jquery ist in einer anonymen Funktion gekapselt. Dies ist der äußerste Code von jquery:
(function(window,undefined){})(window);//立即调用
Aber warum übergibt JQuery das Fenster, ist aber nicht undefiniert?
Antwort: Der Zweck der Fensterübergabe besteht darin, die Suche zu beschleunigen und die Zeit für die Abfrage von Variablen zu verkürzen. Zum Beispiel der folgende js-Code
function(){ function(){ function(){ function(){ document.getElementById(); //这个document将会沿作用域层层上找,直到最外层window全局。 } } } }
Um die interne Suche nach lokalen Variablen zu beschleunigen, übergibt JQuery das Fenster direkt als Parameter, sodass sich das Fenster im internen AO von JQuery befindet.
Der Grund dafür, dass undefiniert nicht übergeben wird, dient der Sicherheit, da undefiniert in niedrigeren Versionen von IE und FF neu zugewiesen werden kann, z. B. undefiniert = 3;
Deklarieren Sie die lokale Variable als undefiniert (der Name ist undefiniert), und gleichzeitig ist der Wert ohne Übergabe von Parametern natürlich undefiniertIch hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.