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

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

不言
Freigeben: 2019-03-25 14:14:41
nach vorne
2604 Leute haben es durchsucht

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
Nach dem Login kopieren
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!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage