首页 > 其他 > 详细

_proto_和prototype的区别

时间:2014-05-12 11:11:41      阅读:291      评论:0      收藏:0      [点我收藏+]

Prototype是一个对象的属性,它是由这个对象创建的子对象的原型
__proto__是一个对象的内部属性,指向它的原型,也可以通过Object.getPrototypeOf()来获取对象的原型,但是用__proto__更快。

有点拗口,意思就是__proto__属性指向的才是自己的原型,而prototype是父对象的属性,子对象是继承父对象的prototype属性指向的对象的属性和方法。那么实际上,整个继承的过程就是,当我访问一个对象的属性时,首先会查找这个对象有没有属性,如果有的话,直接取出,如果没有的话,通过这个对象的__proto__属性指向的对象查找此对象(即第一个对象的父对象)的属性,有的话返回,没有的话,继续往上查找,直到返回属性值或者空(这是JS对象的属性查找的内部实现)。

也就是说, 子对象.__proto__===父对象.prototype  但是只有在chrome和Firefox 中存在  在IE中没有

 

 

_proto_和prototype的区别,布布扣,bubuko.com

_proto_和prototype的区别

原文:http://www.cnblogs.com/ln0218/p/3720571.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!