继承-原型链

function sayName(){

  this.property = true;

}

sayName.prototype.getProperty = function(){

   return this.property;

}

function sayAge(){

  this.proAge =false;

}

sayAge.prototype = new sayName();

sayAge.prototype.getAge = function(){

   return this.proAge

}

var instance = new sayAge();

instance.getProperty(); // true

 

原型链的本质就是重写原型对象,代之以一个新的实例对象。原本存在a里面的属性和方法,b继承了a的实例,那么现在b也有了a的属性和方法。

当以读取模式访问一个实例属性时,首先会在实例中搜索该属性,如果没有找到这个属性 则会继续搜索实例的原型,在原型链实现继承的情况下,所搜会沿着原型链继续向上搜索。

搜索总是要一环一环的前行到原型链末端才会停下来。

 

posted @ 2015-06-08 14:58  疯狂的大飞  阅读(98)  评论(0编辑  收藏  举报