Dieser Artikel beschreibt die Verwendung anonymer Funktionen in JavaScript. Teilen Sie es für Ihre Referenz. Die spezifische Analyse ist wie folgt:
Zusammenfassung:
Dieser Artikel erklärt das grundlegendste und wichtigste an JavaScript - Funktionen. Der Grund, warum ich diesen Artikel geschrieben habe, ist, dass ich ihn während des Interviews gefragt habe, was auch als Überprüfung der Vergangenheit und das Erlernen der Neuen angesehen wird.
Nehmen wir zuerst ein Beispiel. Wenn Sie es verstehen, bedeutet dies, dass Sie verstanden haben, worüber dieser Artikel sprechen wird.
Kopieren Sie den Code wie folgt: var f = (function () {
Funktion f () {return 10;}
Rückgabe f ();
Funktion f () {return 20;}
var f = 30;
}) ();
console.log (f);
In der erweiterten Programmierung von JavaScript werden Funktionen auf diese Weise beschrieben - sie können eine beliebige Anzahl von Aussagen zusammenfassen und überall und jederzeit aufgerufen und ausgeführt werden. Ich habe schon einmal einen strengen Modus eingeführt, und der strenge Modus hat einige Einschränkungen für Funktionen:
① Die Funktion kann nicht bewertet oder Argumente bezeichnet werden
② Die Parameter können nicht als Eval oder Argumente benannt werden
③ Zwei benannte Parameter können nicht der gleiche Name sein
Die obige Situation verursacht Syntaxfehler und der Code wird nicht ausgeführt.
Funktionsdefinition
Funktionsdefinitionen sind in drei Typen unterteilt
1. Konstruktor
Die Codekopie lautet wie folgt: var fun = new Funciton ();
2. Gewöhnliche Definition
Kopieren Sie den Code wie folgt: Funktion Fun () {}
3. Funktionsdefinition
Die Codekopie lautet wie folgt: var fun = function () {};
Alle drei Möglichkeiten können den Funktionsspaß definieren.
Parameter
Funktionen haben nichts dagegen, wie viele Parameter übergeben werden, und es kümmert sich auch nicht darum, in welchen Datentypen die Parameter übergeben werden. Auch wenn die von Ihnen definierte Funktion nur zwei Parameter empfängt, können Sie beim Aufrufen dieser Funktion möglicherweise nicht unbedingt zwei Parameter übergeben. Eins oder drei können übergeben werden oder sogar keine Parameter. Der Grund dafür ist, dass die Parameter intern durch ein Array dargestellt werden. In der Funktionskörper können Sie beispielsweise über das Argumenteobjekt auf das Parameter -Array zugreifen
Kopieren Sie den Code wie folgt: Funktion Sayshi () {
alert ("Hallo" + Argumente [0] + "," + Argumente [1]);
}
Durch den Zugriff auf die Länge Eigenschaft des Argumenteobjekts können wir wissen, wie viele Parameter es gibt. Die Länge der Funktion gibt die Anzahl der Parameter der Funktion zurück.
Hinweis: Alle Parameter übergeben Werte, und es ist unmöglich, Parameter durch Referenzen zu übergeben.
Funktionen können nicht überladen werden, sie können nur umgeschrieben werden.
Wenn zwei Funktionen mit demselben Namen definiert sind, gehört der Name zur letzten definierten Funktion beispielsweise:
Die Codekopie lautet wie folgt:
Funktion add (num) {
Rückgabe num + 100;
}
Funktion add (num) {
Return Num + 200;
}
var result = add (100) // 300
Hinweis: Die Funktion stoppt und beendet sich unmittelbar nach der Ausführung der Rückgabeanweisung.
Funktionstypen
Funktionen sind in zwei Typen unterteilt: eine Namensfunktion und anonyme Funktion. Zum Beispiel die folgende berühmte Funktion
Kopieren Sie den Code wie folgt: Funktion Fun () {
}
Wenn gerufen, wird nur Spaß () benötigt.
Anonyme Funktionen haben, wie der Name schon sagt, keine Funktionsnamen. Zum Beispiel
function () {}
Funktionsaufrufe werden über Funktionsnamen aufgerufen. Wie nenne ich anonyme Funktionen? Einer besteht darin, einer Variablen eine anonyme Funktion zuzuweisen, sodass diese Variable als Funktionsname fungieren kann. Eine andere Möglichkeit besteht darin, () zu verwenden, um es beispielsweise die folgenden drei Methoden zu nennen
1. (function () {return;} ());
2. (function () {return;}) ();
3. Funktion () {return;} ();
Beispiel:
Die Codekopie lautet wie folgt:
(Funktion (x, y) {
Alarm (x + y);
}) (2,3);
// alarm (5)
2 und 3 werden als Parameter an x und y übergeben
Sprechen wir über das Top -Beispiel. Dieses Beispiel beinhaltet Schließungen, die später diskutiert werden.
Definieren Sie zuerst eine Variable F und weisen Sie dann eine anonyme Funktion zu. Hier müssen wir beachten, dass die Definitionen aller Variablen in der Funktion voreingestellt sind, daher ist die Ausführungsreihenfolge in der anonymen Funktion
Die Codekopie lautet wie folgt:
var f = (function () {
Var f = 30;
Funktion f () {return 10;}
Funktion f () {return 20;}
Rückgabe f ();
}) ();
Die äußere Variable F und die innere Variable f sind nicht im gleichen Bereich (Verschluss), sodass sie sich nicht gegenseitig beeinflussen. Da die Funktion nicht überlastet werden kann, ist die äußere Variable f = (Funktion f () {return 20;}) ();, so dass die endgültige Ausgabe 20 beträgt.
Ich hoffe, dieser Artikel wird für JavaScript -Programme aller hilfreich sein.