原型鏈的總結

原型鏈是js中的重中之重。因爲我感覺紅寶石書上的記載不夠詳盡易懂,因此我自己做了一下總結,方便以後複習時使用。
在這裏插入圖片描述

這裏有幾個要注意的點:

  1. 只有構造函數纔有prototype屬性
  2. 構造函數的原型是原型對象,因此函數的原型具有__proto__屬性和construct屬性
  3. 構造函數的實例是對象,對象具有__proto__屬性,__proto__屬性指向構造函數的原型
  4. 除了Function.prototype,所有構造函數的__proto__屬性都指向Function.prototype,Function.prototype的__proto__指向Object.prototype,Object.prototype指向null
  5. Object的__proto__指向Function.prototype,Function的__proto__屬性也指向Function.prototype,因爲他們都是構造函數
  6. 字面量創造出來的對象和構造函數創建出來的實例對象的__proto__的指向不一樣,因爲字面量創造出來的對象(…=new Object()),它的構造函數是Object,因此它的__proto__指向Object.prototype,而構造函數創造出來的實例對象(…=new Fn()),它指向Fn.prototype
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章