所有的对象都可以自由扩展属性 (null 除外)
所有的引用类型(对象,数组,函数)都有一个_proto_属性
所有的函数都有一个prototype属性
所有引用类型对象的_proto_属性指向它的的构造函数的prototype属性值
obj.__proto__===Object.prototype;
遍历对象的属性(以及原型的属性)
<script> var o={}; o.name="a"; o.say=function(){}; Object.prototype.age=12; //原型增加属性 //自己的属性+原型的属性 for(item in o){ alert(item) //弹出name say age } //只读取自己的属性 for(item in o){ if(o.hasOwnProperty(item)){ alert(item) //弹出name say } } </script>
原型链流程