原型鏈進階

原型鏈進階
  • 全部的對象都是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

相關文章
相關標籤/搜索