继承的一些问题
People.call(this,name,age)换成this=new Person(name,age)有区别吗?
People.call(this,name,age)换成this=new Person(name,age)有区别吗?
2016-08-06
Person.call(this,name,age); 其中的Person是指视频中的构造函数:
function Person(name,age){
this.name = name;
this.age = age;
}
Person.call(this,name,age);其中的call是指Function.prototype.call(),其中的this在其上下文中指向Student对象。
因此,Person.call(this,name,age);是调用Person构造函数,并把Person构造函数中的this替换为传入的this参数所代表的Student对象,因此Student对象便继承了name和age两个属性。
举报