原型和原型链

原型:

1、所有的引用类型(数组,对象,函数)都具有对象特性,可自由扩展

  var obj = {}; obj.attribute="对象";

2、所有引用类型(数组,对象,函数)都有隐性原型属性(proto),值也是一个普通对象

  obj.__proto__

3、所有的函数都有一个prototype属性,值也是一个普通对象

  obj.prototype

4、所有的引用类型的proto属性值都指向构造函数的prototype属性值

  obj.__proto__ === Object.prototype //true

5、当试图获取对象属性时,如果对象本身没有这个属性,那就会去他的proto(prototype)中去寻找

  一直找到最顶层的Object.prototype,如果没有则返回null

第5步这一过程就形成了原型链

posted @ 2018-09-19 11:36  甜甜宝宝  阅读(193)  评论(0)    收藏  举报