javascript原型prototype浅识

  C++,java是基于类的语言,主要通过类来实现继承。

  javascript是基于原型的语言,通过原型来实现继承。

  什么是原型?每种物质,都可以追根溯源,原型就是对象的根源。继承就是追根溯源。

  javascript里谈继承,只涉及到一个东西:对象Object。每个对象都有自己的原型,都可以从自己的原型处继承属性或者方法。

 每个对象都有自己的prototype,逐层追溯,直到null,形成所谓的原型链。

 null对象是原型链的终点,追根溯源止于null. 

 当获取一个属性,或者调用一个方法,都是按此原型链追溯,如果直到null都没有找到,就返回undefined。

var o={mem:1};  //Object
//原型链:o==>Object.prototype==>null


var a=["kim","joe",""]; //Array
//原型链:a==>Array.prototype==>Object.prototype==>null


var f =function(){
  return true;
}                             //function
//原型链:a==>Function.prototype==>Object.prototype==>null

 

posted @ 2016-09-23 14:48  懒先生的夫人  阅读(117)  评论(0编辑  收藏  举报