1.原型鏈逐步繼承:
缺點:過多的繼承了沒用的屬性
2.借用構造函數:call 和applyh(ex:工廠模式造車)
缺點:只能借用方法,不能借用原型
每次構造函數都要多走一個函數,浪費資源
3.共享(共有)原型
缺點:不能隨便改動自己的原型,父子原型都指向同一塊內存空間,是映射關系
4.聖杯模式:方法還是公有原型,略有不同
還有兩點不完善:
1.構造器constructor指向混亂,繼承混亂
son.__proto__指向的本應該是F().__proto__,然后F().__proto__再指向Father.prototype
但這種情況下指向的是F.__proto__
改進
2.無法知道自己真正繼承至誰(記住最好,也不強求)
改進:
yahoo 貢獻的高端寫法:YUI3庫有個inherit,現在不用了,了解一下:
先看一個私有化變量應用:
上文有錯誤,在調用prepareWife的返回結果:
這個prepareWife就變成了一個私有化變量,沒有辦法通過Deng.xxxx訪問的變量
再來理解雅虎的高端寫法: