Heim > Artikel > Web-Frontend > Was sind die Vererbungsmethoden in Javascript?
Zu den Javascript-Vererbungsmethoden gehören: 1. Mit der Methode call() können Sie Methoden schreiben, die für verschiedene Objekte verwendet werden können. 2. Die Methode apply() wird als Objekt verwendet Parameter, der an das Funktionsarray übergeben werden soll)".
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
1. call()-Methode
Die call()-Methode ist der klassischen Objektimitationsmethode am ähnlichsten. Sein erster Parameter wird als Objekt verwendet. Andere Parameter werden direkt an die Funktion selbst übergeben
function Huster(name,idNum,college) { this.name = name; this.idNum = idNum; this.college = college; this.course = new Array(); this.addCourse = function(course)//这个方法不能用prototype来定义,如果用的话,子类无法继承该方法 { //用原型prototype定义的方法可以用原型链来继承,call()方法和apply()方法都无法继承 this.course.push(course); console.log(this.course); }; } function Autoer(name,idNum) { this.college = ‘自动化‘; Huster.call(this,name,idNum,this.college);//Autoer使用call()方法来继承 Huster if (typeof Autoer._initialized == "undefined") { Autoer.prototype.sayHobby = function() //自己的方法可以用原型链prototype定义 { alert(this.college+‘人喜欢撸代码!‘); }; Autoer._initialized = true; } } var autoer1 = new Autoer(‘偶人儿‘,‘U123456789‘); //声明一个实例autoer1 console.log(autoer1.name,autoer1.idNum,autoer1.college,autoer1.course); autoer1.addCourse(‘logistics‘);//调用Huster的方法 autoer1.sayHobby(); //调用自身的方法
2. Die apply()-Methode ist fast identisch mit der call()-Methode. Der einzige Unterschied besteht darin, dass die apply()-Methode nur über Folgendes verfügt Zwei Parameter: Der erste ist das als Objekt verwendete Objekt, der zweite ist das Array von Parametern, die an die Funktion übergeben werden sollen. Das heißt, die apply()-Methode fügt mehrere Parameter der call()-Methode in ein Array ein und übergibt sie an die übergeordnete Klasse
function Huster(name,idNum,college){ this.name = name; this.idNum = idNum; this.college = college; this.course = new Array(); this.addCourse = function(course)//这个方法不能用prototype来定义,如果用的话,子类无法继承该方法 { //用原型prototype定义的方法可以用原型链来继承,call()方法和apply()方法都无法继承 this.course.push(course); console.log(this.course); }; } function Autoer(name,idNum) { this.college = ‘自动化‘; Huster.apply(this,new Array(name,idNum,this.college));//Autoer使用apply()方法来继承 Huster if (typeof Autoer._initialized == "undefined") { Autoer.prototype.sayHobby = function() //自己的方法可以用原型链prototype定义 { alert(this.college+‘人喜欢撸代码!‘); }; Autoer._initialized = true; } } var autoer1 = new Autoer(‘偶人儿‘,‘U123456789‘); //声明一个实例autoer1 console.log(autoer1.name,autoer1.idNum,autoer1.college,autoer1.course); autoer1.addCourse(‘logistics‘);//调用Huster的方法 autoer1.sayHobby(); //调用自身的方法[Lernempfehlung:
Javascript-Video-Tutorial
]Das obige ist der detaillierte Inhalt vonWas sind die Vererbungsmethoden in Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!