時隔半年,偶爾翻開這篇文章。
對於這個問題,又有了新的思考。
願意跟能看到這裏的你來分享一下。segmentfault
咱們能夠先把 Object.prototype
和 Function.prototype
這兩個拎出來看,由於他們自己就是一個實例對象。
爲方便理解,咱們改一下名字,避免和 Object 和 Function 的強關聯,分別叫:Op
和 Fp
函數
那麼就有這樣的原型鏈存在了 spa
我再描述一下上面的原型鏈,先有 null , 再有了 Op , 而後再有了 Fp ,而後以 Fp 爲原型的兩個構造函數 (Object, Function) 出現了。
而做爲構造函數,須要有個 prototype 屬性用來做爲以該構造函數創造的實例的繼承。
因此Object.prototype = Op, Function.prototype = Fp。prototype