Heim  >  Artikel  >  Web-Frontend  >  Was bewirken die Methoden apply() und call()?

Was bewirken die Methoden apply() und call()?

不言
不言nach vorne
2019-03-25 14:14:412581Durchsuche

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指向o
Dieser 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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen