Heim > Web-Frontend > js-Tutorial > Hauptteil

Zusammenfassung der Fähigkeiten von js inheritance call() und apply() method_javascript

WBOY
Freigeben: 2016-05-16 16:28:24
Original
1554 Leute haben es durchsucht

1. Methodendefinition

Aufrufmethode:
Syntax: call([thisObj[,arg1[, arg2[, [,.argN]]]]])
Definition: Rufen Sie eine Methode eines Objekts auf, um das aktuelle Objekt durch ein anderes Objekt zu ersetzen.
Beschreibung:
Mit der Call-Methode kann eine Methode stellvertretend für ein anderes Objekt aufgerufen werden. Die Aufrufmethode ändert den Objektkontext einer Funktion vom Anfangskontext in das durch thisObj angegebene neue Objekt.
Wenn kein thisObj-Parameter angegeben wird, wird das globale Objekt als thisObj verwendet.

Methode anwenden:
Syntax: apply([thisObj[,argArray]])
Definition: Wenden Sie eine Methode eines Objekts an, um das aktuelle Objekt durch ein anderes Objekt zu ersetzen.
Beschreibung:
Wenn argArray kein gültiges Array oder kein Argumentobjekt ist, wird ein TypeError verursacht.
Wenn weder argArray noch thisObj bereitgestellt werden, wird das globale Objekt als thisObj verwendet und es können keine Parameter übergeben werden.

2. Häufige Beispiele

a、

Code kopieren Der Code lautet wie folgt:

Funktion add(a,b)
{
Warnung(a b);
}
Funktion sub(a,b)
{
alarm(a-b);
}
add.call(sub,3,1);

Was dieses Beispiel bedeutet, ist, sub durch add zu ersetzen, add.call(sub,3,1) == add(3,1), also ist das laufende Ergebnis: alarm(4); // Hinweis: in js Die Funktion ist eigentlich ein Objekt und der Funktionsname ist eine Referenz auf das Funktionsobjekt.

b、

Code kopieren Der Code lautet wie folgt:

Funktion Animal(){ 
This.name = "Tier"; This.showName = function(){
warning(this.name);
}  

Funktion Cat(){ 
This.name = „Katze“; } 
var animal = new Animal();
var cat = new Cat();
// Über die Call- oder Apply-Methode wird die ursprünglich zum Animal-Objekt gehörende Methode showName () zur Verwendung an das Objekt cat übergeben. 
//Das Eingabeergebnis ist „Katze“
animal.showName.call(cat,","
//animal.showName.apply(cat,[]);


Aufruf bedeutet, die Methode von animal zur Ausführung auf cat zu übertragen. Ursprünglich hatte cat keine showName()-Methode, sodass die Methode von animal zur Ausführung auf cat gestellt wird.
c. Vererbung implementieren

Code kopieren Der Code lautet wie folgt: Funktion Tier(Name){ 
This.name = name;
This.showName = function(){ This.showName = function(){
warning(this.name);
}  

Funktion Katze(Name){ 
Animal.call(this, name);

var cat = new Cat("Black Cat"); 
cat.showName();



Animal.call(this) bedeutet, das Animal-Objekt anstelle dieses Objekts zu verwenden. Verfügt Cat dann nicht über alle Eigenschaften und Methoden von Animal?
d. Mehrfachvererbung

Verwandte Etiketten:
js
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!