1.原型鏈
基本思想:利用原型讓一個(gè)引用類(lèi)型繼承另外一個(gè)引用類(lèi)型的屬性和方法。
構(gòu)造函數(shù)敬扛,原型,實(shí)例之間的關(guān)系:每個(gè)構(gòu)造函數(shù)都有一個(gè)原型對(duì)象朝抖,原型對(duì)象包含一個(gè)指向構(gòu)造函數(shù)的指針啥箭,而實(shí)例都包含一個(gè)指向原型對(duì)象的內(nèi)部指針。
2.借用構(gòu)造函數(shù)
基本思想:在子類(lèi)型構(gòu)造函數(shù)的內(nèi)部調(diào)用超類(lèi)構(gòu)造函數(shù)治宣,通過(guò)使用call()和apply()方法可以在新創(chuàng)建的對(duì)象上執(zhí)行構(gòu)造函數(shù)急侥。
3.組合繼承
基本思想:將原型鏈和借用構(gòu)造函數(shù)的技術(shù)組合在一塊,從而發(fā)揮兩者之長(zhǎng)的一種繼承模式侮邀。
4.原型式繼承
基本想法:借助原型可以基于已有的對(duì)象創(chuàng)建新對(duì)象坏怪,同時(shí)還不必須因此創(chuàng)建自定義的類(lèi)型。
ECMAScript5通過(guò)新增Object.create()方法規(guī)范化了原型式繼承绊茧,這個(gè)方法接收兩個(gè)參數(shù):一個(gè)用作新對(duì)象原型的對(duì)象和一個(gè)作為新對(duì)象定義額外屬性的對(duì)象铝宵。
5.寄生式繼承
基本思想:創(chuàng)建一個(gè)僅用于封裝繼承過(guò)程的函數(shù),該函數(shù)在內(nèi)部以某種方式來(lái)增強(qiáng)對(duì)象,最后再像真正是它做了所有工作一樣返回對(duì)象鹏秋。
6.寄生組合式繼承
基本思想:通過(guò)借用函數(shù)來(lái)繼承屬性尊蚁,通過(guò)原型鏈的混成形式來(lái)繼承方法