Javascript高级学习笔记3--原型及原型链2
实例对象属性和原型对象属性重名问题:
<script type="text/javascript">
function Person(age,sex){
this.age=age;
this.sex=sex;
};
Person.prototype.sex="女";
var per = new Person(10,"男");
console.log(per.sex);
//实例对象访问属性,先从实例对象中找,后从原型对象中找,如果找不到则返回undefined
//不能通过实例对象改变原型对象的值
//如果要改变原型对象中的值: 原型对象.属性名=值
per.sex="太监"; //改变的是实例对象的值
console.log(per.sex);
console.dir(per);
</script>

页面元素原型链:
<script type="text/javascript">
var divObj = document.getElementById("div");
console.dir(divObj);
</script>
divObj的__proto__-->
HTMLDIVElement.prototype的__proto__-->
HTMLElement.prototype的__proto__-->
Element.prototype的__proto__-->
Node.prototype的__proto__-->
EventTarget.prototype的__peoto__-->
Object.prototype的__proto__-->null
Object.prototype没有__proto__所以Object.prototype中的__proto__是null
浙公网安备 33010602011771号