日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于js继承

發布時間:2023/12/29 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于js继承 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

繼承在js中占有非常重要的地位,那么在js中有很多中繼承的方式,不過每一種繼承方式都有優缺點。下面就列舉幾種繼承的方式。

實現繼承首先需要一個父類,在js中實際上是沒有類的概念,在es6中class雖然很像類,但實際上只是es5上語法糖而已

一、原型鏈繼承
實現:
? ? ? ? 將父類的實例掛載到子類的原型上

?

?優點:
? ? ? ? 實例可繼承的屬性有:實例的構造函數的屬性,父類構造函數屬性,父類原型的屬性
?缺點:
? ? ? ? ? ?1、新實例無法向父類構造函數傳參。
   2、繼承單一。
   3、所有新實例都會共享父類實例的屬性。

二、 構造函數繼承
用.call()和.apply()將父類構造函數引入子類函數(在子類函數中做了父類函數的自執行(復制))

?

?優點:1、只繼承了父類構造函數的屬性,沒有繼承父類原型的屬性。
   ?2、解決了原型鏈繼承缺點1、2、3。
  ? 3、可以繼承多個構造函數屬性(call多個)。
   ?4、在子實例中可向父實例傳參。
缺點:1、只能繼承父類構造函數的屬性。
   ?2、無法實現構造函數的復用。(每次用每次都要重新調用)
   ?3、每個新實例都有父類構造函數的副本,臃腫。

三、 組合式繼承


?優點:1、可以繼承父類原型上的屬性,可以傳參,可復用。
  ? 2、每個新實例引入的構造函數屬性是私有的。
缺點:調用了兩次父類構造函數(耗內存),子類的構造函數會代替 ? ?原型上的那個父類構造函數

?

四、class繼承
?
?es6繼承?class定義類,?extends繼承類,? super()表示?類

?

子類可以沒有自己的構造方法,沒有可以調用父親的,但是有構造方法先調用父親
?

總結

以上是生活随笔為你收集整理的关于js继承的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。