亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

javascript面向對象中繼承實現的幾種方式

javascript面向對象中繼承實現的幾種方式

繁華開滿天機 2018-04-30 06:07:55
javascript面向對象中繼承實現的幾種方式
查看完整描述

1 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

1、原型鏈繼承核心: 將父類的實例作為子類的原型缺點: 父類新增原型方法/原型屬性,子類都能訪問到,父類一變其它的都變了2、構造繼承核心:使用父類的構造函數來增強子類實例,等于是復制父類的實例屬性給子類(沒用到原型)缺點: 方法都在構造函數中定義, 只能繼承父類的實例屬性和方法,不能繼承原型屬性/方法,無法實現函數復用,每個子類都有父類實例函數的副本,影響性能3、組合繼承組合繼承(所有的實例都能擁有自己的屬性,并且可以使用相同的方法,組合繼承避免了原型鏈和借用構造函數的缺陷,結合了兩個的優點,是最常用的繼承方式)核心:通過調用父類構造,繼承父類的屬性并保留傳參的優點,然后再通過將父類實例作為子類原型,實現函數復用缺點:調用了兩次父類構造函數,生成了兩份實例(子類實例將子類原型上的那份屏蔽了)4、寄生組合繼承核心:通過寄生方式,砍掉父類的實例屬性,這樣,在調用兩次父類的構造的時候,就不會初始化兩次實例方法/屬性,避免的組合繼承的缺點缺點:堪稱完美,但實現較為復雜

查看完整回答
反對 回復 2018-07-29
  • 1 回答
  • 0 關注
  • 912 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號