Dieses Mal werde ich Ihnen eine detaillierte Erklärung zur Verwendung von apply und call in js (mit Code) geben. Was sind die Vorsichtsmaßnahmen für die Verwendung von apply und call in js? Praktischer Fall, werfen wir einen Blick darauf.
Sie können sich die Beispiele direkt ansehen, oder Sie lesen zuerst die Einleitung:
call und apply erscheinen für , um dies dynamisch zu ändern Wenn ein Objekt keine bestimmte Methode hat, andere jedoch schon, können wir call oder apply verwenden, um mit den Methoden anderer -Objekte zu arbeiten .
call und apply sind beide Methoden von Function.prototype, die intern von der JavaScript-Engine implementiert werden. Da sie zu Function.prototype gehören, hat jede Function-Objektinstanz, , eine call, apply Da es sich um Attribute von Methoden handelt, sind diese beiden Methoden natürlich leicht zu verwechseln, da sie den gleichen Effekt haben, aber unterschiedlich verwendet werden .Aus dem oben Gesagten lässt sich schließen, dass
call, apply für Methoden verwendet wird, um diesen Zeiger der aufrufenden Methode zu ändern
Anruf
function A() { this.getName = function (xx) { return xx; } } function B() { } var a = new A(); console.log( a.getName('i am A') ); //i am A var b = new B() ; console.log( a.getName.call(b,'i am B') ); // i am B
Bewerben
apply und call unterscheiden sich lediglich in der Verwendung von Parameternfunction A() { this.sun = function (a ,b) { return a+b; } } function B() { } var a = new A(); console.log( a.sun(1,2) ); //3 var b = new B() ; console.log( a.sun.call(b,2,2) ); // 4 console.log( a.sun.apply(b,[3, 3]) ); //6
Allgemeine Verwendung von Call and Apply
Am häufigsten wird der überdocument ausgewählte Dom-Knoten verwendet.getElementsByTagName ist ein Array-ähnliches Array. Unter Array können keine Push-, Pop- und andere Methoden angewendet werden. Wir können bestehen:
var domNodes = Array.prototype.slice.call(document.getElementsByTagName("*"));
CSS-Stile in Angular 4 anzeigen
Wie implementiert die Vue-Komponente die Funktion zum Erraten von Zahlen
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung von Apply und Call in js (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!