Einführung
In diesem Lab werden wir untersuchen, wie man in JavaScript mithilfe einer Closure Funktionen mit einem Kontext aufruft. Wir werden lernen, wie man einen Schlüssel und eine Menge von Argumenten an eine Funktion übergibt und dann mit dem angegebenen Kontext aufruft. Anhand von praktischen Beispielen werden wir sehen, wie diese Technik verwendet werden kann, um den Code zu vereinfachen und lesbarer zu machen.
Wie man in JavaScript Funktionen mit einem Kontext aufruft
Um Code in Node.js auszuführen, öffnen Sie das Terminal/SSH und geben Sie node ein. Wenn Sie in JavaScript eine Funktion mit einem bestimmten Kontext und einer Menge von Argumenten aufrufen möchten, können Sie eine Closure verwenden. Hier ist, wie Sie es tun können:
- Definieren Sie eine Funktion namens
call, die einenSchlüsselund eine Menge vonArgumentenals Parameter nimmt und eine neue Funktion zurückgibt, die einenKontext-Parameter nimmt.
const call =
(key, ...args) =>
(context) =>
context[key](...args);
- Verwenden Sie die
call-Funktion, um diemap-Funktion auf einem Array von Zahlen aufzurufen. In diesem Beispiel verdoppelt diemap-Funktion jede Zahl im Array.
Promise.resolve([1, 2, 3])
.then(call("map", (x) => 2 * x))
.then(console.log); // [ 2, 4, 6 ]
- Sie können die
call-Funktion auch an einen bestimmten Schlüssel wiemapbinden und sie verwenden, um diemap-Funktion auf einem Array von Zahlen aufzurufen.
const map = call.bind(null, "map");
Promise.resolve([1, 2, 3])
.then(map((x) => 2 * x))
.then(console.log); // [ 2, 4, 6 ]
Durch die Verwendung der call-Funktion können Sie leicht jede Funktion mit einem bestimmten Kontext und einer Menge von Argumenten aufrufen.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Call Functions With Context" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.