我是OOJS的新手,我对尝试理解继承感到困惑,我创建了两个简单的类,即从人那里继承的人和学生,是否有通过在父母中传递数据来创建学生的选项&#39 ; s构造函数?如果有可能,该怎么办?一个孩子可以从父母那里获得所有的属性和方法,还是只从方法中获取?
**警报中的fname和lName未定义
function Person(fNme, lName) {
this.fname = fNme;
this.lName = lName;
}
Object.prototype.go = function() {
alert("I am going now last time you see "+ this.lName);
}
function Student() {
this.study = function () {
alert("I am studing !");
}
}
Student.prototype = new Person();
var s1 = new Student("sam", "bubu");
alert(s1.fname +"+"+ s1.lName)
答案 0 :(得分:2)
你可以使用构造函数窃取。
function Student(fName,lName) {
Person.call(this,fName,lName);
this.study = function () {
alert("I am studing !");
}
}
当您致电Student
构造函数时,您可以将Person()
的参数传递给call()
以初始化Person
答案 1 :(得分:0)
这是通过调用父构造函数
来完成的function Student(fName, lName, whateverelse) {
Person.call( this, fName, lName ); // call base class constructor function
this.study = function () {
alert("I am studing !");
}
}