對(duì)象的原型鏈

  1. 只要是對(duì)象就有原型

  2. 原型也是對(duì)象

  3. 只要是對(duì)象就有原型, 并且原型也是對(duì)象, 因此只要定義了一個(gè)對(duì)象, 那么就可以找到他的原型, 如此反復(fù), 就可以構(gòu)成一個(gè)對(duì)象的序列, 這個(gè)結(jié)構(gòu)就被成為原型鏈

  4. 原型鏈到哪里是一個(gè)頭?

  5. 一個(gè)默認(rèn)的原型鏈結(jié)構(gòu)是什么樣子的?

  6. 原型鏈結(jié)構(gòu)對(duì)已知語法結(jié)構(gòu)有什么修正?

原型鏈的結(jié)構(gòu)

  1. 原型鏈繼承就是利用就是修改原型鏈結(jié)構(gòu)( 增加、刪除、修改節(jié)點(diǎn)中的成員 ), 從而讓實(shí)例對(duì)象可以使用整個(gè)原型鏈中的所有成員( 屬性和方法 )

  2. 使用原型鏈繼承必須滿足屬性搜索原則

屬性搜索原則

  1. 所謂的屬性搜索原則, 就是對(duì)象在訪問屬性與方法的時(shí)候, 首先在當(dāng)前對(duì)象中查找

  2. 如果當(dāng)前對(duì)象中存儲(chǔ)在屬性或方法, 停止查找, 直接使用該屬性與方法

  3. 如果對(duì)象沒有改成員, 那么再其原型對(duì)象中查找

  4. 如果原型對(duì)象含有該成員, 那么停止查找, 直接使用

  5. 如果原型還沒有, 就到原型的原型中查找

  6. 如此往復(fù), 直到直到 Object.prototype 還沒有, 那么就返回 undefind.

  7. 如果是調(diào)用方法就包錯(cuò), 該 xxxx 不是一個(gè)函數(shù)

原型鏈結(jié)構(gòu)圖

    網(wǎng)友評(píng)論