In diesem Artikel werden hauptsächlich gewöhnliche Funktionen, anonyme Funktionen und Schließfunktionen eingeführt
1. Einführung in gewöhnliche Funktionen
1.1 Beispiel
Die Codekopie lautet wie folgt:
Funktionsabschlussame (Name) {
alarm (Name);
}
1.2 Funktionen mit demselben Namen in JS überschreiben
In JS werden Funktionen nicht überladen. Sie definieren Funktionen mit demselben Funktionsnamen und unterschiedlichen Parametersignaturen. Die nachfolgenden Funktionen überschreiben die vorherigen Funktionen. Bei Aufrufen werden nur die folgenden Funktionen aufgerufen.
Die Codekopie lautet wie folgt:
var n1 = 1;
Funktion add (value1) {
Return N1 + 1;
}
Alarm (add (n1)); // Die folgende Funktion wird aufgerufen, die Ausgabe ist: 3
Funktion add (value1, value2) {
Rückgabewert 1 + 2;
}
Alarm (add (n1)); // Ausgabe: 3
1.3 Argumente Objekt
Argumente ähneln C# -Paramien, Betriebsvariablenparametern: Die Anzahl der in der Funktion übergebenen Parameter ist größer als die Anzahl der Parameter zum Zeitpunkt der Definition.
Die Codekopie lautet wie folgt:
Funktionsabschlussamerien (Name) {
Alert (Name); // Zhang san
für (var i = 0; i <argumente.length; i ++) {
Alarm (Argumente [i]); // Zhang San, Li Si, Wang Wu
}
}
gezeigtes ('Zhang San', 'Li Si', 'Wang Wu');
1.4 Der Standard -Bereichswert der Funktion
Wenn die Funktion den Rückgabewert nicht angibt, ist die Standardrendite "undefiniert" nicht
Die Codekopie lautet wie folgt:
function Showmsg () {
}
Alert (Showmsg ()); // Ausgabe: undefiniert
2. Anonyme Funktionen
2.1 Variable anonyme Funktionen
2.1.1 Beschreibung
Funktionen können Variablen und Ereignissen zugeordnet werden.
2.1.2 Beispiel
Die Codekopie lautet wie folgt:
// Variable anonyme Funktion kann die linke Seite Variablen, Ereignisse usw. sein.
var anonymousnormal = function (p1, p2) {
Alarm (p1+p2);
}
anonymousnormal (3,6); // Ausgabe 9
2.1.3 Anwendbare Szenarien
① Vermeiden Sie die Verschmutzung des Funktionsnamens. Wenn Sie zuerst eine Funktion mit einem Namen deklarieren und dann einer Variablen oder einem Ereignis zuweisen, wird der Funktionsname Missbrauch verursacht.
2.2 anonyme Funktion ohne Namen
2.2.1 Beschreibung
Das heißt, wenn die Funktion deklariert wird, werden die Parameter befolgt. Wenn JS Syntax diese Funktion analysiert, wird der Code im Inneren sofort ausgeführt.
2.2.2 Beispiel
Die Codekopie lautet wie folgt:
(Funktion (p1) {
Alarm (P1);
}) (1);
2.2.3 Anwendbare Szenarien
① Führen Sie nur einmal aus. Wenn der Browser lädt, müssen nur Funktionen ausgeführt werden, die später nicht ausgeführt werden.
3.. Verschlussfunktion
3.1 Beschreibung
Angenommen, die Funktion A deklariert eine Funktion b intern, die Funktion B bezieht sich auf eine andere Variable als Funktion B, und der Rückgabewert der Funktion A ist eine Referenz auf Funktion B, dann ist die Funktion b eine Verschlussfunktion.
3.2 Beispiel
3.2.1 Beispiel 1: Globale Referenzen und lokale Referenzen
Die Codekopie lautet wie folgt:
Funktion funa () {
var i = 0;
Funktion Funb () {// Verschlussfunktion FunB
i ++;
alarm (i)
}
Rückpreis;
}
var Allshowa = funa (); // Globale variable Referenz: Kumulative Ausgabe 1, 2, 3, 4 usw.
Funktion Partshowa () {
var showa = funa (); // Lokale Variablenreferenz: Nur Ausgabe 1
showa ();
}
Allshowa ist eine globale Variable, die auf die Funktion funa verweist. Wiederholen Sie Allshowa () und gibt akkumulierte Werte wie 1, 2, 3, 4 aus.
Führen Sie die Funktion partshowa () aus, da nur die lokale Variable Showa intern in Bezug auf Funa deklariert wird. Nach der Ausführung werden die von Showa besetzten Ressourcen aufgrund der Umfangsbeziehung veröffentlicht.
Der Schlüssel zur Schließung ist der Umfang: Ressourcen, die von globalen Variablen besetzt sind, werden erst nach der Änderung der Seite veröffentlicht oder der Browser geschlossen. Wenn var Allshowa = funa () (), entspricht es Allshowa, der sich auf Funb () bezieht, so dass die Ressourcen in Funb () von GC nicht recycelt werden, sodass die Ressourcen in Funa () nicht sein werden.
3.2.2 Beispiel 2: Parametriierte Schließfunktion
Die Codekopie lautet wie folgt:
Funktion funa (arg1, arg2) {
var i = 0;
Funktionsfokus (Schritt) {
i = i + Schritt;
alarm (i)
}
Rückpreis;
}
var Allshowa = funa (2, 3); // Der Anruf ist funa arg1 = 2, arg2 = 3
Allshowa (1); // Der Anruf ist Funb -Schritt = 1, Ausgabe 1
Allshowa (3); // Der Anruf ist Funb Setp = 3, Ausgabe 4
3.2.3 Beispiel 3: Variable Freigabe in der übergeordneten Funktion funa
Die Codekopie lautet wie folgt:
Funktion funa () {
var i = 0;
Funktion Funb () {
i ++;
alarm (i)
}
Allshowc = function () {// Allshowc bezieht sich auf anonyme Funktionen und teilt die Variable I mit Funb
i ++;
alarm (i)
}
Rückpreis;
}
var Allshowa = funa ();
var Allshowb = funa (); // Allshowb Referenzen Funa, AllshowC rebinds intern und teilt Variable I mit Allshowb auf
3.3 Anwendbare Szenarien
① Stellen Sie die Sicherheit von Variablen innerhalb der Funktion funa sicher, da das externe Variablen nicht direkt zugreifen kann.
Haben Sie eine Vorstellung von der Funktionsfunktion von JavaScript? Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht.