Erweiterte Erklärung der Javascript-Funktionen

Erweiterte Erklärung der Javascript-Funktionen

Funktionsdefinitionsmethode

Funktion 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 hin

1. 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 Modus

Aktivieren 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 Ordnung

Definition: 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üsse

Ein 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 Endbedingung

Tiefe 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:
  • Fortgeschrittenes Front-End, das Ihnen die Verwendung der Javascript-Speicherfunktion beibringt
  • Erweiterte Beispiele für JS-Arrays [Verwendung mehrerer Array-Funktionen]
  • Erweiterte Analyse der Verwendung von JS-Funktionsvererbungsbeispielen
  • Analyse von Anwendungsbeispielen für erweiterte JS-Funktionsprototypen
  • Erweiterte Verwendungstipps für Split- und Join-Funktionen in JavaScript

<<:  Bringen Sie Ihnen bei, wie Sie in 5 Minuten den Redis-Clustermodus und den Sentinelmodus mit Docker erstellen

>>:  Prinzip des Ausblendens von CSS-Elementen und display:none und visibility:hidden

Artikel empfehlen

Vier Möglichkeiten zum Wechseln von Registerkarten in VUE

Inhaltsverzeichnis 1. Statische Implementierungsm...

Zusammenfassung der grundlegenden Verwendung von CSS3 @media

//Grammatik: @media Medientyp und | nicht | nur (...

Die perfekte Lösung für das MySql-Versionsproblem sql_mode=only_full_group_by

1. Überprüfen Sie sql_mode wählen Sie @@sql_mode ...

setup+ref+reactive implementiert Vue3-Reaktionsfähigkeit

Das Setup wird zum Schreiben kombinierter APIs ve...

Eintauchen in die JS-Vererbung

Inhaltsverzeichnis Vorwort Vorbereiten Zusammenfa...

Zusammenfassung aller HTML-Interviewfragen

1. Die Rolle des Doctypes, der Unterschied zwisch...

Eine kurze Einführung in JavaScript-Arrays

Inhaltsverzeichnis Einführung in Arrays Array-Lit...

JavaScript ermittelt, ob der Browser IE ist

Als Frontend-Entwickler komme ich an den Tücken d...