如下代码:
function SuperType(name){
this.name=name;
this.colors=["red","blue","green"];
}
SuperType.prototype.sayName=function(){
alert(this.name);
};
function SubType(name,age){
SuperType.call(this,name);//这里面的代码当我创建构造函数的时候,this不就是我new的对象吗,然后调用SuperType()函数,增加了个name属性
为什么我new SubType的时候,书上说,其实是调用SuperType的构造函数
this.age=age;
}
SubType.prototype=new SuperType();
var ins=new SubType("tiantian",29);
function SuperType(name){
this.name=name;
this.colors=["red","blue","green"];
}
SuperType.prototype.sayName=function(){
alert(this.name);
};
function SubType(name,age){
SuperType.call(this,name);//这里面的代码当我创建构造函数的时候,this不就是我new的对象吗,然后调用SuperType()函数,增加了个name属性
为什么我new SubType的时候,书上说,其实是调用SuperType的构造函数
this.age=age;
}
SubType.prototype=new SuperType();
var ins=new SubType("tiantian",29);
SuperType.call(this,name);SuperType函数也被执行了嗯this就是你当前的这个对象ins
的this.name 中的this不是指代SuperType这个对象 而是指代当前SubType对象
这也就是call方法的用法