Funktionsaufrufmethoden: call vs. apply
In JavaScript ermöglichen Ihnen die Methoden call und apply, Funktionen mit benutzerdefinierten Kontexten und Argumenten aufzurufen . Obwohl beide Methoden denselben Zweck erfüllen, unterscheiden sie sich darin, wie sie mit der Argumentübergabe umgehen.
call vs. apply: Argument Handling
Der Hauptunterschied liegt in der Art und Weise, wie die Argumente verarbeitet werden werden der Funktion übergeben:
Um sich an diese Unterscheidung zu erinnern, kann die Mnemonik „A für Array und C für Komma“ lauten nützlich.
Syntax:
Aufruf:
theFunction.call(valueForThis, arg1, arg2, ...)
Anwenden:
theFunction.apply(valueForThis, arrayOfArgs)
Beispiel:
function theFunction(name, profession) { console.log("My name is " + name + " and I am a " + profession + "."); } theFunction("John", "fireman"); theFunction.apply(undefined, ["Susan", "school teacher"]); theFunction.call(undefined, "Claude", "mathematician");
In In diesem Beispiel wird die Methode call mit durch Kommas getrennten Argumenten verwendet, während die Methode apply ein Array von Argumenten akzeptiert.
Spread-Operator:
In ES6 und höher kann der Spread-Operator verwendet werden, um ein Array als Argumente an zu übergeben Aufruf-Methode:
theFunction.call(undefined, ...["Matthew", "physicist"]);
Leistungs- und Nutzungsempfehlungen:
Es gibt keine signifikanten Leistungsunterschiede zwischen Aufruf und Anwenden. Die Wahl der zu verwendenden Methode hängt von der jeweiligen Situation ab:
Das obige ist der detaillierte Inhalt vonCall vs. Apply in JavaScript: Wie unterscheiden sich diese Funktionsaufrufmethoden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!