FunktionsdefinitionsmethodeFunktion fn(){}//benannte Funktion var fun=function(){}//anonyme Funktion// neue fn=neue Funktion("Parameter 1","Parameter 2","Funktionskörper"), wird selten verwendet. //Alle Funktionen sind Instanzobjekte der Funktion (Funktionen sind auch Objekte) var fn = neue Funktion("a","b","console.log(a+b)") console.log(fn Instanz von Objekt) //true Funktionsaufruf (6 Typen)das weist auf das Problem hin1. Gewöhnliche Funktion: Fenster 2. Objektmethode: Instanzobjekt obj1 3. Konstruktor: Instanzobjekt. Dies zeigt im Prototypobjekt auch auf das Instanzobjekt ldh 4. Ereignisfunktion binden: Ereignisaufrufer button1 5. Timer: Fenster 6. Funktion sofort ausführen: Fenster Ändern Sie den this-Zeiger innerhalb der Funktion: call(), apply(), bind(), Wenn wir einige Funktionen nicht sofort aufrufen müssen, sondern den this-Zeiger innerhalb der Funktion ändern möchten, verwenden wir bind Strikter ModusAktivieren Sie für das gesamte Skript oder für eine Funktion: „use strict“; Strenge Modellsyntaxspezifikation: 1. Variablen müssen vor der Verwendung deklariert werden 2. Wir können deklarierte Variablen nicht nach Belieben löschen 3. Dies ist in der Funktion im globalen Bereich unter dem strengen Modell undefiniert 4. Der Konstruktor fügt keinen neuen Aufruf hinzu, dieser zeigt auf undefined, und die Zuweisung eines Werts zu undefined führt zu einem Fehler (er zeigte zuvor auf window, was dem Hinzufügen von Eigenschaften zu window entspricht) 5. Der Timer zeigt immer noch auf das Fenster. Ereignisse, Objekte oder Verweise auf den Anrufer. 6. Parameter können nicht den gleichen Namen haben 7. Funktionen müssen auf der obersten Ebene deklariert werden. Die neue Version von JavaScript wird den „Block-Level-Scope“ einführen (eingeführt in ES6). Um mit neueren Versionen Schritt zu halten, ist es nicht zulässig, eine Funktion innerhalb eines nicht-funktionalen Codeblocks zu deklarieren. Funktionen höherer OrdnungDefinition: Eine Funktion höherer Ordnung ist eine Funktion, die auf andere Funktionen einwirkt, indem sie entweder Funktionen als Parameter empfängt (Rückruffunktionen) oder Funktionen als Ausgabe zurückgibt. VerschlüsseEin Abschluss ist eine Funktion, die Zugriff auf Variablen im Gültigkeitsbereich einer anderen Funktion hat. Einfach ausgedrückt kann ein Bereich auf lokale Variablen innerhalb einer anderen Funktion zugreifen. Die Rolle von Closures: Erweiterung des Gültigkeitsbereichs von Variablen Abschlussübung: Es ist bekannt, dass Bindungsereignisse und Timer asynchrone Vorgänge sind und nicht sofort ausgeführt werden. (function(i){...})(i) Die Funktion wird sofort ausgeführt und die Parameter werden am Ende an die Klammern übergeben. Die Klammern innerhalb der Funktion erhalten die Parameter wieder. Eine sofort ausgeführte Funktion wird auch als kleiner Abschluss bezeichnet und alle darin enthaltenen Funktionen können auf ihre internen Variablen zugreifen. (1) Klicken Sie hier, um die aktuelle Indexnummer auszugeben (üblich bei Interviews) (2) Verzögerung von drei Sekunden bei der Ausgabe des Inhalts in <li> (3) Gedanken zum Abschluss: Rekursion: Eine Funktion, die sich selbst aufruft, benötigt eine EndbedingungTiefe Kopie und flache Kopie:1. Flache Kopie: Es wird nur die oberste Ebene kopiert und nur die Adressen der tiefen Objekte werden kopiert. Änderungen an den ursprünglichen tiefen Daten führen daher zu Änderungen an den kopierten tiefen Daten. Objekt.assign(ObjektNeu,ObjektAlt) 2. Tiefe Kopie: Kopiert alle tiefen Datenwerte in das neue Objekt. Datenänderungen der neuen und alten Objekte beeinflussen sich gegenseitig nicht. Das könnte Sie auch interessieren:
|
>>: Prinzip des Ausblendens von CSS-Elementen und display:none und visibility:hidden
Inhaltsverzeichnis Überblick Front-End-Wissenssys...
Installieren Sie Apache aus der Quelle 1. Laden S...
Inhaltsverzeichnis 1. Statische Implementierungsm...
//Grammatik: @media Medientyp und | nicht | nur (...
Wir wissen, dass die Eigenschaften des Auswahltags...
1. Überprüfen Sie sql_mode wählen Sie @@sql_mode ...
Das Setup wird zum Schreiben kombinierter APIs ve...
eins. Remote-Bereitstellung mit Tomcat 1.1 Aufget...
Inhaltsverzeichnis Vorwort Vorbereiten Zusammenfa...
Durch Zufall entdeckte ich, dass eine SQL-Anweisu...
1. Die Rolle des Doctypes, der Unterschied zwisch...
Inhaltsverzeichnis Einführung in Arrays Array-Lit...
Inhaltsverzeichnis brauchen Problemumgehung 1. To...
Als Frontend-Entwickler komme ich an den Tücken d...
Vorwort Während des Entwicklungsprozesses werden ...