Heim Web-Frontend js-Tutorial Anonyme Javascript-Funktion

Anonyme Javascript-Funktion

Feb 04, 2017 pm 04:30 PM
javascript 函数 匿名

1 Anonyme Funktion

Anonyme Funktion ist eine Funktion, die zur Laufzeit dynamisch deklariert wird. Sie werden anonyme Funktionen genannt, da sie im Gegensatz zu gewöhnlichen Funktionen keine Funktionsnamen haben.

Anonyme Funktionen werden über Funktionsausdrücke und nicht über die Funktionsdeklarationssyntax definiert. Sie können eine neue Funktion mithilfe eines Funktionsausdrucks an einer beliebigen Stelle erstellen, an der Sie einen Ausdruck platzieren können. Sie können beispielsweise eine neue Funktion als Argument für einen Funktionsaufruf oder als Eigenschaft eines anderen Objekts definieren.

Das Folgende ist eine typische benannte Funktion:

 function flyToTheMoon()
{
 alert("Zoom! Zoom! Zoom!");
}
flyToTheMoon();
Nach dem Login kopieren

Das Folgende ist das gleiche Beispiel, dieses Mal jedoch als anonyme Funktion erstellt:

var flyToTheMoon = function()
{
alert("Zoom! Zoom! Zoom!");
}
flyToTheMoon();
Nach dem Login kopieren

2 Anonyme Funktionen Wird durch einen Funktionsausdruck erstellt

Die beiden häufigsten Methoden zum Erstellen von Funktionen in JavaScript sind die Verwendung von Funktionsdeklarationssyntax und Funktionsausdrücken. Anonyme Funktionen werden durch Funktionsausdrücke erstellt.

Wenn das Funktionsschlüsselwort zuerst in einer Anweisung erscheint und von einem Funktionsnamen gefolgt wird, wird die Funktion mit der Funktionsdeklarationssyntax erstellt:

Anonyme Javascript-Funktion

if Wenn das Funktionsschlüsselwort an anderer Stelle vorkommt, wird es wahrscheinlich als Funktionsausdruck verwendet:

Anonyme Javascript-Funktion

Wenn der Funktionsausdruck aufgerufen wird, erstellt er ein neues Funktionsobjekt und gibt es zurück. Hier ist ein Beispiel für die Erstellung einer Funktion und deren Zuweisung an eine Variable namens „flyToTheMoon“:

var flyToTheMoon = function() {
 alert("Zoom! Zoom! Zoom!");
}
Nach dem Login kopieren

Die Zuweisung hier ist fast die gleiche wie die Zuweisung des Rückgabewerts einer beliebigen Funktion an eine Variable, mit der einzigen Besonderheit Die Sache ist, dass der Wert ein Funktionsobjekt und keine einfache Zahl oder ein Datum ist.

Dies ist möglich, weil Funktionen in Javascript nur eine besondere Art von Objekten sind. Das heißt, sie können wie andere Gegenstände verwendet werden. Sie können in Variablen gespeichert, als Argumente an andere Funktionen übergeben oder durch Return-Anweisungen innerhalb von Funktionen zurückgegeben werden. Funktionen sind immer Objekte, egal wie sie erstellt werden.

Sobald die Funktion in einer Variablen gespeichert ist, kann diese Variable zum Aufrufen der Funktion verwendet werden:

flyToTheMoon();
Nach dem Login kopieren

3 Anonyme Funktionen werden zur Laufzeit erstellt

Funktionsausdrucksformeln kann überall dort verwendet werden, wo ein Ausdruck platziert werden kann. Beispielsweise können Sie einen Funktionsausdruck verwenden, wenn einer Variablen ein Wert zugewiesen wird, wenn ein Argument an eine Funktion übergeben wird oder in einer Return-Anweisung. Dies ist möglich, da Funktionen immer zur Laufzeit aufgerufen werden.

Die Syntax der Funktionsdeklaration ist unterschiedlich. Sie werden ausgeführt, bevor anderer Code ausgeführt wird, da Funktionen nicht deklariert werden müssen, bevor sie vom Code aufgerufen werden.

Die Funktionsdeklarationssyntax kann nicht zum Erstellen anonymer Funktionen verwendet werden, da die Funktion einen Namen haben muss. Die Syntax der Funktionsdeklaration verwendet den Funktionsnamen, um ihn als Variable zum aktuellen Bereich hinzuzufügen.

4 Anonyme Funktionen erfordern keinen Funktionsnamen

Das erscheint etwas seltsam, denn wie kann man eine Funktion ohne Namen aufrufen? Dies funktioniert, weil sich der Funktionsname ein wenig von der Variablen unterscheidet, die das Funktionsobjekt enthält.

Eine durch die Funktionsdeklarationssyntax erstellte Funktion hat immer einen Funktionsnamen und eine identische Funktionsvariable, da die Funktionsdeklarationssyntax automatisch diese Variable erstellt:

function flyToTheMoon() {
 alert("Zoom! Zoom! Zoom!");
}
flyToTheMoon();
Nach dem Login kopieren

Für die Erstellung von Funktionsausdrücken Funktion, dieser Name ist optional. Oftmals ist uns der Name nicht wichtig, deshalb erstellen wir anonyme Funktionen ohne Namen, wie folgt:

var flyToTheMoon = function() {
  alert("Zoom! Zoom! Zoom");
}
flyToTheMoon();
Nach dem Login kopieren

Allerdings unterstützen Funktionsausdrücke tatsächlich Einstellungen, wenn Sie es wünschen. Hier ist die gleiche Funktion, aber dieses Mal mit einem Funktionsnamen:

var flyToTheMoon = function flyToTheMoon() {
  alert("Zoom! Zoom! Zoom");
}
flyToTheMoon();
Nach dem Login kopieren

Wenn Sie Ihrer Funktion einen Namen geben, wird dem Gültigkeitsbereich nicht automatisch eine nach dem Funktionsnamen benannte Variable hinzugefügt. Sie müssen den Rückgabewert des Funktionsausdrucks noch einer Variablen zuweisen.

Im vorherigen Beispiel hat die Variable, die das Funktionsobjekt enthält, denselben Namen wie die Funktion, dies ist jedoch nicht erforderlich:

var thingsToDoToday = function flyToTheMoon() {
  alert("Zoom! Zoom! Zoom");
}
thingsToDoToday();
Nach dem Login kopieren

5 Warum brauchen wir einen Namen? ?

Der Name einer Funktion, der verwendet werden kann, um sich selbst aus der Funktion heraus aufzurufen. Dies ist bei rekursiven Funktionen nützlich.

var thingsToDoToday = function flyToTheMoon() {
    if(!onTheMoon)
       flyToTheMoon();
     else
alert("One small step for a man..");
}
thingsToDoToday();
Nach dem Login kopieren

Dies ist auch beim Debuggen nützlich, da Sie den Funktionsnamen im Aufrufstapel sehen können. Normalerweise sehen anonyme Funktionen im Aufrufstapel gleich aus. Wenn Sie mit einer unangenehmen Debug-Situation konfrontiert sind, kann es manchmal einfacher sein, der betreffenden Funktion einen Namen zu geben, um das Problem klarer zu machen.

6 Warum sind anonyme Funktionen nützlich?

Der Einfachheit halber ist es nicht erforderlich, einen Namen für die anonyme Funktion festzulegen. Schließlich ist der Name der Funktion in vielen Fällen nicht wichtig. In den meisten Fällen funktionieren sowohl anonyme als auch benannte Funktionen für die meisten Aufgaben gut.

Weitere Artikel zu anonymen Javascript-Funktionen finden Sie auf der chinesischen PHP-Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Tipps zum dynamischen Erstellen neuer Funktionen in Golang-Funktionen Tipps zum dynamischen Erstellen neuer Funktionen in Golang-Funktionen Apr 25, 2024 pm 02:39 PM

Die Go-Sprache bietet zwei Technologien zur dynamischen Funktionserstellung: Schließung und Reflexion. Abschlüsse ermöglichen den Zugriff auf Variablen innerhalb des Abschlussbereichs, und durch Reflektion können mithilfe der FuncOf-Funktion neue Funktionen erstellt werden. Diese Technologien sind nützlich bei der Anpassung von HTTP-Routern, der Implementierung hochgradig anpassbarer Systeme und dem Aufbau steckbarer Komponenten.

Überlegungen zur Parameterreihenfolge bei der Benennung von C++-Funktionen Überlegungen zur Parameterreihenfolge bei der Benennung von C++-Funktionen Apr 24, 2024 pm 04:21 PM

Bei der Benennung von C++-Funktionen ist es wichtig, die Reihenfolge der Parameter zu berücksichtigen, um die Lesbarkeit zu verbessern, Fehler zu reduzieren und das Refactoring zu erleichtern. Zu den gängigen Konventionen für die Parameterreihenfolge gehören: Aktion-Objekt, Objekt-Aktion, semantische Bedeutung und Einhaltung der Standardbibliothek. Die optimale Reihenfolge hängt vom Zweck der Funktion, den Parametertypen, möglichen Verwirrungen und Sprachkonventionen ab.

Wie schreibe ich effiziente und wartbare Funktionen in Java? Wie schreibe ich effiziente und wartbare Funktionen in Java? Apr 24, 2024 am 11:33 AM

Der Schlüssel zum Schreiben effizienter und wartbarer Java-Funktionen ist: Halten Sie es einfach. Verwenden Sie eine aussagekräftige Benennung. Bewältigen Sie besondere Situationen. Nutzen Sie entsprechende Sichtbarkeit.

Vergleich der Vor- und Nachteile von C++-Funktionsstandardparametern und variablen Parametern Vergleich der Vor- und Nachteile von C++-Funktionsstandardparametern und variablen Parametern Apr 21, 2024 am 10:21 AM

Zu den Vorteilen von Standardparametern in C++-Funktionen gehören die Vereinfachung von Aufrufen, die Verbesserung der Lesbarkeit und die Vermeidung von Fehlern. Die Nachteile sind eingeschränkte Flexibilität und Namensbeschränkungen. Zu den Vorteilen variadischer Parameter gehören unbegrenzte Flexibilität und dynamische Bindung. Zu den Nachteilen gehören eine größere Komplexität, implizite Typkonvertierungen und Schwierigkeiten beim Debuggen.

Vollständige Sammlung von Excel-Funktionsformeln Vollständige Sammlung von Excel-Funktionsformeln May 07, 2024 pm 12:04 PM

1. Die SUMME-Funktion wird verwendet, um die Zahlen in einer Spalte oder einer Gruppe von Zellen zu summieren, zum Beispiel: =SUMME(A1:J10). 2. Die Funktion AVERAGE wird verwendet, um den Durchschnitt der Zahlen in einer Spalte oder einer Gruppe von Zellen zu berechnen, zum Beispiel: =AVERAGE(A1:A10). 3. COUNT-Funktion, die verwendet wird, um die Anzahl der Zahlen oder Texte in einer Spalte oder einer Gruppe von Zellen zu zählen, zum Beispiel: =COUNT(A1:A10) 4. IF-Funktion, die verwendet wird, um logische Urteile auf der Grundlage spezifizierter Bedingungen zu treffen und die zurückzugeben entsprechendes Ergebnis.

Welche Vorteile haben C++-Funktionen, die Referenztypen zurückgeben? Welche Vorteile haben C++-Funktionen, die Referenztypen zurückgeben? Apr 20, 2024 pm 09:12 PM

Zu den Vorteilen von Funktionen, die Referenztypen in C++ zurückgeben, gehören: Leistungsverbesserungen: Durch die Übergabe als Referenz wird das Kopieren von Objekten vermieden, wodurch Speicher und Zeit gespart werden. Direkte Änderung: Der Aufrufer kann das zurückgegebene Referenzobjekt direkt ändern, ohne es neu zuzuweisen. Einfachheit des Codes: Die Übergabe als Referenz vereinfacht den Code und erfordert keine zusätzlichen Zuweisungsvorgänge.

Was ist der Unterschied zwischen benutzerdefinierten PHP-Funktionen und vordefinierten Funktionen? Was ist der Unterschied zwischen benutzerdefinierten PHP-Funktionen und vordefinierten Funktionen? Apr 22, 2024 pm 02:21 PM

Der Unterschied zwischen benutzerdefinierten PHP-Funktionen und vordefinierten Funktionen ist: Umfang: Benutzerdefinierte Funktionen sind auf den Umfang ihrer Definition beschränkt, während auf vordefinierte Funktionen im gesamten Skript zugegriffen werden kann. So definieren Sie: Benutzerdefinierte Funktionen werden mit dem Schlüsselwort function definiert, während vordefinierte Funktionen vom PHP-Kernel definiert werden. Parameterübergabe: Benutzerdefinierte Funktionen empfangen Parameter, während vordefinierte Funktionen möglicherweise keine Parameter erfordern. Erweiterbarkeit: Benutzerdefinierte Funktionen können nach Bedarf erstellt werden, während vordefinierte Funktionen integriert sind und nicht geändert werden können.

Erweiterte Verwendung von Referenzparametern und Zeigerparametern in C++-Funktionen Erweiterte Verwendung von Referenzparametern und Zeigerparametern in C++-Funktionen Apr 21, 2024 am 09:39 AM

Referenzparameter in C++-Funktionen (im Wesentlichen Variablenaliase; durch Ändern der Referenz wird die Originalvariable geändert) und Zeigerparameter (Speichern der Speicheradresse der Originalvariablen, Ändern der Variablen durch Dereferenzierung des Zeigers) werden beim Übergeben und Ändern von Variablen unterschiedlich verwendet. Referenzparameter werden oft verwendet, um Originalvariablen (insbesondere große Strukturen) zu ändern, um Kopieraufwand bei der Übergabe an Konstruktoren oder Zuweisungsoperatoren zu vermeiden. Zeigerparameter werden verwendet, um flexibel auf Speicherorte zu zeigen, dynamische Datenstrukturen zu implementieren oder Nullzeiger zur Darstellung optionaler Parameter zu übergeben.

See all articles