Heim  >  Artikel  >  Web-Frontend  >  Analyse der Verwendung anonymer JavaScript-Funktionen_Javascript-Kenntnisse

Analyse der Verwendung anonymer JavaScript-Funktionen_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 16:14:151167Durchsuche

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 undefiniert

Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn