原型链

2017-03-09  本文已影响16人  llpy

原型链

对象的__proto__属性,指向了对象的原型(在早期的浏览器中是不能直接访问这个属性的, 现在可以了) 我在chrome下测试:

var arr = [1,2,3];
arr.__proto__;//[]
arr.__proto__.__proto__;//Object {a: 1}
arr.__proto__.__proto__.__proto__;//null

可以看到每个对象都有原型,组成了原型链, 对象在查找属性时,从自身开始, 依次到原型链顶端, 查看属性是否存在.

__proto__怎么产生的

通过构造函数生成的对象, 构造函数的prototype属性就是对像的原型__proto__;

function Cat(){}
Cat.prototype = {};

var cat = new Cat();
console.log( cat.__proto__ === Cat.prototype);//true
上一篇 下一篇

猜你喜欢

热点阅读