原型链进阶

原型链进阶
  • 全部的对象都是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.
  • Smmarize1javascript

    • 实例对象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, 它是从石头里蹦出来的.
  • 小弟水平有限,如有什么不对之处,还请留言指出哈php

相关文章
相关标签/搜索