原型鏈
對(duì)象的__proto__屬性,指向了對(duì)象的原型(在早期的瀏覽器中是不能直接訪問這個(gè)屬性的, 現(xiàn)在可以了) 我在chrome下測(cè)試:
var arr = [1,2,3];
arr.__proto__;//[]
arr.__proto__.__proto__;//Object {a: 1}
arr.__proto__.__proto__.__proto__;//null
可以看到每個(gè)對(duì)象都有原型,組成了原型鏈, 對(duì)象在查找屬性時(shí),從自身開始, 依次到原型鏈頂端, 查看屬性是否存在.
__proto__怎么產(chǎn)生的
通過(guò)構(gòu)造函數(shù)生成的對(duì)象, 構(gòu)造函數(shù)的prototype屬性就是對(duì)像的原型__proto__;
function Cat(){}
Cat.prototype = {};
var cat = new Cat();
console.log( cat.__proto__ === Cat.prototype);//true