继承2016/4/19

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;这一句话一定要放在延伸子类方法的前面防止报错

posted on 2016-04-19 15:01  hduhdc  阅读(104)  评论(0编辑  收藏  举报