Heim > Web-Frontend > js-Tutorial > Hauptteil

Zusammenfassung von Function.prototype.apply() und Function.prototype.call()_Grundkenntnisse

WBOY
Freigeben: 2016-05-16 15:03:31
Original
1644 Leute haben es durchsucht

Ich vergesse immer die Verwendung dieser beiden Dinge und schreibe sie für eine Aufzeichnung auf.
Ihre Funktionen sind genau gleich, aber die übergebenen Parameter sind unterschiedlich

Bewerben

Apply akzeptiert zwei Parameter. Der zweite Parameter ist eine indizierte Sammlung (durchlaufbares Objekt). aufgerufen:

var func = function(a, c, c){
  alert([a,b,c]); //[1,2,3]
}
func.apply(null, [1,2,3]);

Nach dem Login kopieren

Anruf

Die im Aufruf übergebenen Parameter sind nicht festgelegt. Der erste Parameter stellt auch den This-Zeiger im Funktionskörper dar. Beginnend mit dem zweiten Parameter wird jeder Parameter der Reihe nach an die Funktion übergeben:

var func = function(a, b, c){
  alert([a,b,c]); //[1,2,3]
}
func.call(null, 1,2,3);
Nach dem Login kopieren

call ist ein syntaktischer Zucker für „aply“. Wenn der erste Parameter null ist, zeigt dieser im Funktionskörper auf das Hostobjekt, das ein Fenster im Browser ist.

Der Zweck des Anrufs und der Bewerbung

1. Ändern Sie dies so, dass es auf
zeigt

Das ist das Beispiel oben

2.Function.prototype.bind

Mock Function.prototype.bind

Function.prototype.bind = function(context){
  var self = this;
  return function(){
    return self.apply(context, arguments);
  }
};

var obj = {
  name: 'cxs'
};

var func = function(){
  alert(this.name); //cxs
}.bind(obj);

fun();
Nach dem Login kopieren

Quelle:php.cn
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!