function Person(name,sex)
{
this.name=name;
this.sex=sex;
}
Person.prototype.showName=function()
{
alert(this.name)
}
Person.prototype.showSex=function()
{
alert(this.sex);
}
function worker(name,sex,job)
{
Person.call(this,name,sex);调用父级的构造函数为了继承属性,call改变this的指向现在的this是new出来的worker
this.job=job;
}
worker.prototype=Person.prototype;原型链继承父亲的方法,但是会修改父亲的原型,一般不这样用
因此这段代码需要修改为
for(var i in person.prototype)
{
worker.prototype[i]=person.prototype[i];
}
worker.prototype.showJob=function()
{
alert(this.job);
};
var p1= new worker('hu','man','code');
p1.showJob();
worker.prototype=Person.prototype;这一句话一定要放在延伸子类方法的前面防止报错