标签:
Object.__proto__ === Function.protoype
__proto__
属性都指向构造函数的prototype属性Object.__proto__ === Function.prototype
Object.prototype === Function.prototype.__proto__
Object.prototype.__proto__ === null
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