码迷,mamicode.com
首页 > 其他好文 > 详细

原型链进阶

时间:2016-02-17 00:42:57      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:

原型链进阶
  • 所有的对象都是Function的一个实例,包括Object
    • Object.__proto__ === Function.protoype
  • 每个实例后的对象的__proto__属性都指向构造函数的prototype属性
  • 每个实例后的对象的constructor属性指向构造函数
  • Object 与 Function的relation
    • Object.__proto__ === Function.prototype
    • Object.prototype === Function.prototype.__proto__
    • Object.prototype.__proto__ === null
  • Smmarize
    • 通过代码Function.__proto__ === Function.prototype, 可以得出结论Fucntion是由他的原型创建出来
    • 通过代码Function.prototype === Object.__proto__可以看出Object是由Function创建出来。那么Function.prototype是由谁创建的呢? 答案是:Function.prototype.__proto__ === Object.prototype由此代码可以看出Function的原型是由Object创建出来的,那么我们此时又想知道Object.prototype是由谁创建出来的呢? 答案是:Object.prototype.__proto__ === null,由代码可以看出 ,它是自己蹦出来的。
    • 如果想查看一个对象是由谁创建出来的? 可以通过此对象的__proto__属性来查看。
1.function Foo(){}
2.var foo = new Foo();
3.
  • Smmarize1

    • 实例对象foo是通过构造函数Foo创建的,所以实例对象的foo.__proto__指向构造按函数Foo.prototype;又因为Foo.__proto__指向Function.prototype,所以Foo是通过Function创建出来的;那么问题来了Function是通过谁创建出来的呢? 答案是: Function的属性__proto__指向Function.prototype;继续挖Function.prototype是通过谁创建出来的呢? 结果是:Function.prototype.__proto__指向Object.prototype,所以说呢: Function.prototype是通过Object.prototype创建出来的,那么Object.prototype.__proto__又指向谁呢,答案是null, 它是从石头里蹦出来的.
  • 小弟水平有限,若有什么不对之处,还请指教,感激不尽

 

原型链进阶

标签:

原文地址:http://www.cnblogs.com/songyaqi/p/5194100.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!