Benutzerdefinierte Rückrufe in JavaScript erstellen
In JavaScript umfasst die Implementierung benutzerdefinierter Rückrufe die Übergabe einer Rückruffunktion als Argument an eine andere Funktion. Wenn die primäre Funktion die Ausführung abschließt, wird der Rückruf aufgerufen.
Grundlegende Implementierung:
Erstellen Sie eine Funktion, die eine Rückruffunktion als Argument akzeptiert:
function doSomething(callback) { // ... // Call the callback callback('stuff', 'goes', 'here'); }
Definieren Sie eine auszuführende Callback-Funktion:
function foo(a, b, c) { alert(a + " " + b + " " + c); }
Rufen Sie die Hauptfunktion auf und übergeben Sie den Rückruf als Argument:
doSomething(foo);
Erweiterte Konzepte:
Verwendung von „this“:
Manchmal , möchten Sie möglicherweise einen Rückruf mit einem bestimmten Kontext (z. B. „diesem“) ausführen. Dies kann mit der Funktion call() erreicht werden:
function Thing(name) { this.name = name; } Thing.prototype.doSomething = function(callback) { callback.call(this); } function foo() { alert(this.name); } var t = new Thing('Joe'); t.doSomething(foo); // Alerts "Joe" via `foo`
Übergabe von Argumenten:
Sie können zusätzliche Argumente an einen Rückruf übergeben, indem Sie die Funktion call() oder verwenden apply()-Funktionen.
Verwenden von apply():
Übergeben Sie Argumente als Array:
function Thing(name) { this.name = name; } Thing.prototype.doSomething = function(callback) { callback.apply(this, ['Hi', 3, 2, 1]); } function foo(salutation, three, two, one) { alert(salutation + " " + this.name + " - " + three + " " + two + " " + one); } var t = new Thing('Joe'); t.doSomething(foo); // Alerts "Hi Joe - 3 2 1" via `foo`
Verwenden von call():
Argumente einzeln übergeben:
function Thing(name) { this.name = name; } Thing.prototype.doSomething = function(callback, salutation) { callback.call(this, salutation); } function foo(salutation) { alert(salutation + " " + this.name); } var t = new Thing('Joe'); t.doSomething(foo, 'Hi'); // Alerts "Hi Joe" via `foo`
Benutzerdefinierte Rückrufe bieten Flexibilität bei der JavaScript-Entwicklung und ermöglichen Funktionen, um nach Abschluss bestimmte Aktionen auszuführen. Wenn Sie die Grundlagen und fortgeschrittenen Konzepte verstehen, können Sie Rückrufe effektiv in Ihren Anwendungen implementieren und nutzen.
Das obige ist der detaillierte Inhalt vonWie bieten benutzerdefinierte Rückrufe Flexibilität und Funktionalität bei der JavaScript-Entwicklung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!