Sie werden nie aufhören, von JavaScript überrascht zu werden. In diesem kurzen Tipp werde ich Ihnen zeigen, wie Sie die JavaScript-Methoden verwenden, Anruf
und sich bewerben
, um die Funktionen anderer Objekte aufzurufen. Weiß nicht was ich meine Lass uns anfangen!
Hier ist das Szenario: Wir haben zwei Objekte:
var joe = name: "Joe", grüße: function (name) alert (this.name + "sagt hallo zu" + name); ; var jill = name: "Jill";
Es ist ziemlich einfach, Joe dazu zu bringen, Jill zu begrüßen:
joe.greet ("Jill");
Aber wie können wir Jill dazu bringen, Joe zu begrüßen? Sie hat keine Begrüßungsmethode (und nehmen wir an, wir können / wollen / dürfen sie nicht). Nun, da alles in JavaScript, einschließlich Funktionen, ein Objekt ist, kann alles über eine Methode oder eine Funktion verfügen, die von dort aus aufgerufen werden kann. Für Funktionen gibt es zwei Methoden, mit denen Sie sie in verschiedenen Kontexten aufrufen können.
Der Kontext einer Methode ist im Wesentlichen das Objekt, das es sein wird diese
wenn die Funktion aufgerufen wird. In unserer grüßen
Methode, diese
bezieht sich auf das Objekt Joe
, denn davon ist es ein Teil von.
Versuchen Sie es jetzt:
joe.greet.call (jill, "Joe");
Das Anruf
Mit der Methode für JavaScript-Funktionen können Sie den Kontext der Funktion ändern. Der erste Parameter, den wir übergeben, ist der neue Kontext: In diesem Fall ist das Jill
. Nachfolgende Parameter sind die Parameter für die aufgerufene Funktion. In diesem Fall wird „Joe“ an übergeben grüßen
. Wenn Sie dies ausführen, erhalten Sie eine Warnmeldung mit der Meldung "Jill sagt Hallo zu Joe".
Es gibt auch eine sich bewerben
Methode; Der einzige Unterschied besteht darin, dass die Parameter der Methode als Array und nicht als Rohparameter verwendet werden Anruf
Methode.
joe.greet.call (jill, ["Joe"]);
Wenn es Ihnen schwer fällt, sich zu erinnern, ob es ist Anruf
oder sich bewerben
das nimmt das Array, denken Sie daran einpply
und einBeide beginnen mit "ein.”
Danke fürs Lesen!