Heim > Artikel > Web-Frontend > Wie rufe ich eine Funktion mit einem an Parameter angehängten Abschnitt in JavaScript auf?
In JavaScript können Sie eine Funktion aufrufen, indem Sie ihr Parameter übergeben. Manchmal ist es jedoch erforderlich, eine Funktion aufzurufen, bei der einige Parameter bereits ausgefüllt sind. Dies kann mithilfe einer Technik namens Teilfunktionsanwendung erfolgen.
Teilfunktionsanwendung ist eine Möglichkeit, eine neue Funktion zu erstellen, indem einige Parameter einer vorhandenen Funktion „vorab ausgefüllt“ werden. Dies ist nützlich, wenn Sie eine neue Funktion erstellen möchten, die einer vorhandenen Funktion ähnelt, für die jedoch einige Parameter festgelegt sind.
Angenommen, Sie haben eine Funktion, die die Fläche eines Rechtecks berechnet. Die Funktion benötigt zwei Parameter – die Breite und Höhe des Rechtecks.
Stellen Sie sich nun vor, Sie möchten eine neue Funktion erstellen, um die Fläche eines Quadrats zu berechnen. Diese neue Funktion ähnelt der bestehenden Funktion, erfordert jedoch nur einen Parameter – die Seiten des Quadrats.
Hier kommen Teilfunktions-Apps ins Spiel. Sie können die Teilfunktions-App verwenden, um eine neue Funktion zu erstellen, die eine „Teilversion“ einer vorhandenen Funktion ist. Für diese neue Funktion ist der erste Parameter (Breite) bereits festgelegt und es ist nur der zweite Parameter (Höhe) erforderlich.
Es gibt verschiedene Möglichkeiten, Teilfunktionsanwendungen in JavaScript zu verwenden.
Die gebräuchlichste Methode ist die Verwendung der bind()-Methode.
Die Methodebind() ist eine Möglichkeit, eine neue Funktion aus einer vorhandenen Funktion zu erstellen. Die bind()-Methode benötigt zwei Parameter: die zu bindende Funktion und den an das erste Argument der Funktion zu bindenden Wert.
Angenommen, Sie haben die folgende Funktion:
function add(a, b) { return a + b; }
Mit der bind()-Methode können Sie eine neue Funktion erstellen, bei der der erste Parameter (a) festgelegt ist.
var add5 = add.bind(null, 5);
Jetzt kann die add5-Funktion so verwendet werden -
<!doctype html> <html> <head> <title>Examples</title> </head> <body> <div id="result"></div> <script> function add(a, b) { return a + b; } var add5 = add.bind(null, 5); document.getElementById("result").innerHTML = add5(10) </script> </body> </html>
Wie Sie sehen können, ist der erste Parameter (5) festgelegt und der zweite Parameter (10) wird an die Funktion add5 übergeben.
Eine andere Möglichkeit, eine Teilfunktionsanwendung zu verwenden, besteht darin, eine Funktion zu erstellen, die eine vorhandene Funktion und einen Wert akzeptiert und eine neue Funktion mit dem ersten Argument des vorhandenen Funktionssatzes zurückgibt.
Zum Beispiel können Sie eine Funktion wie diese schreiben -
function bind(fn, val) { return function() { return fn.apply(null, [val].concat(Array.prototype.slice.call(arguments))); }; }
Diese Funktion übernimmt eine vorhandene Funktion und einen Wert und gibt eine neue Funktion zurück, deren Wert an das erste Argument der vorhandenen Funktion gebunden ist.
Zum Beispiel können Sie die Funktion bind() verwenden, um eine neue Funktion wie diese zu erstellen -
var add5 = bind(add, 5);
Jetzt kann die add5-Funktion so verwendet werden -
<!doctype html> <html> <head> <title>Examples</title> </head> <body> <div id="result"></div> <script> function add(a, b) { return a + b; } function bind(fn, val) { return function() { return fn.apply(null, [val].concat(Array.prototype.slice.call(arguments))); }; } var add5 = add.bind(add, 5); document.getElementById("result").innerHTML = add5(10) </script> </body> </html>
Wie Sie sehen können, ist der erste Parameter (5) festgelegt und der zweite Parameter (10) wird an die Funktion add5 übergeben.
Teilfunktionsanwendung ist eine nützliche Technik zum Erstellen neuer Funktionen aus vorhandenen Funktionen. Es kann verwendet werden, um eine Funktion zu erstellen, die einer vorhandenen Funktion ähnelt, bei der jedoch einige Parameter bereits festgelegt sind.
Das obige ist der detaillierte Inhalt vonWie rufe ich eine Funktion mit einem an Parameter angehängten Abschnitt in JavaScript auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!