Heim >Web-Frontend >js-Tutorial >Was bewirken die Methoden apply() und call()?
Der Inhalt dieses Artikels befasst sich mit der Funktionsweise der Methoden apply() und call(). Er hat einen gewissen Referenzwert. Ich hoffe, dass er für Sie hilfreich ist.
Jede Funktion enthält zwei nicht geerbte Methoden: apply() und call(). ;
Sowohl call als auch apply sind Methoden von Function.prototype, daher verfügt jede Funktionsinstanz über Aufruf- und Apply-Attribute.
Function
Die call()-Methode und die apply()-Methode haben die gleiche Wirkung : Diesen Zeiger ändern.
Der Unterschied
Der Unterschied liegt in der Art und Weise, wie sie Parameter erhalten:
call(): Der erste Parameter besteht darin, dass sich der Wert davon nicht geändert hat, der Rest jedoch Parameter wurden direkt an die Funktion übergeben. Bei Verwendung der Methode call() müssen die an die Funktion übergebenen Parameter einzeln aufgelistet werden. Beispiel: call(obj,a,b,c)
apply(): Was an die Funktion übergeben wird, ist das Parameterarray. Beispiel: apply(obj,[a,b,c])
Code oben:
function add(c, d){ return this.a + this.b + c + d; } var o = {a:1, b:3}; add.call(o, 5, 7); // 1 + 3 + 5 + 7 = 16 this指向o add.apply(o, [10, 20]); // 1 + 3 + 10 + 20 = 34 this指向oDieser Artikel ist hier, und es gibt noch mehr für spannende Inhalte, Sie können auf die Spalte
JavaScript Video Tutorial auf der chinesischen PHP-Website achten!
Das obige ist der detaillierte Inhalt vonWas bewirken die Methoden apply() und call()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!