摘要:首先創(chuàng)建一個父類創(chuàng)建一個子類當我們要通過原型鏈繼承時子類可以調(diào)用父類在原型鏈上的方法但是子類的構(gòu)造函數(shù)卻指向父類正如下圖其中為實例化過的對象這時候可能會想那我把子類的構(gòu)造函數(shù)指向自身不就好了嗎于是添加下面代碼子類構(gòu)造函數(shù)真的指向了自身但是我
首先創(chuàng)建一個父類
創(chuàng)建一個子類
當我們要通過原型鏈繼承時
子類可以調(diào)用父類在原型鏈上的方法
但是子類的構(gòu)造函數(shù)卻指向父類
正如下圖(其中subClass為實例化過的對象)
這時候可能會想,那我把子類的構(gòu)造函數(shù)指向自身不就好了嗎,于是添加下面代碼
子類構(gòu)造函數(shù)真的指向了自身,但是我們檢查一下父類
父類的構(gòu)造函數(shù)卻指向了子類,如下圖所示(其中subClass為實例化過的對象)
以下是我的解決方法,通過復(fù)制一份父類的原型副本保存在變量中,并修改構(gòu)造函數(shù)
子類繼承了父類,但卻不影響構(gòu)造函數(shù),如下圖所示(其中subClass為實例化過的對象)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/109128.html
摘要:之前有朋友問怎么去理解原型和原型鏈的問題。理解原型鏈的小技巧將箭頭視作泛化子類到父類關(guān)系那么圖中所有的虛線將構(gòu)成一個繼承層級,而實線表示屬性引用。原型鏈是實現(xiàn)繼承的重要方式,原型鏈的形成是真正是靠而非。 之前有朋友問怎么去理解原型和原型鏈的問題。這個問題,在面試中,很多同學(xué)經(jīng)常都會遇到。這里給大家講講,方便大家記憶。 JavaScript的特點JavaScript是一門直譯式腳本...
摘要:之前有朋友問怎么去理解原型和原型鏈的問題。理解原型鏈的小技巧將箭頭視作泛化子類到父類關(guān)系那么圖中所有的虛線將構(gòu)成一個繼承層級,而實線表示屬性引用。原型鏈是實現(xiàn)繼承的重要方式,原型鏈的形成是真正是靠而非。 之前有朋友問怎么去理解原型和原型鏈的問題。這個問題,在面試中,很多同學(xué)經(jīng)常都會遇到。這里給大家講講,方便大家記憶。 JavaScript的特點JavaScript是一門直譯式腳本...
摘要:綜上所述有原型鏈繼承,構(gòu)造函數(shù)繼承經(jīng)典繼承,組合繼承,寄生繼承,寄生組合繼承五種方法,寄生組合式繼承,集寄生式繼承和組合繼承的優(yōu)點于一身是實現(xiàn)基于類型繼承的最有效方法。 一、前言 繼承是面向?qū)ο螅∣OP)語言中的一個最為人津津樂道的概念。許多面對對象(OOP)語言都支持兩種繼承方式::接口繼承 和 實現(xiàn)繼承 。 接口繼承只繼承方法簽名,而實現(xiàn)繼承則繼承實際的方法。由于js中方法沒有簽名...
摘要:當然這還沒完,因為我們還有重要的一步?jīng)]完成,沒錯就是上面的第行代碼,如果沒有這行代碼實例中的指針是指向構(gòu)造函數(shù)的,這樣顯然是不對的,因為正常情況下應(yīng)該指向它的構(gòu)造函數(shù),因此我們需要手動更改使重新指向?qū)ο蟆? 第一節(jié)內(nèi)容:javaScript原型及原型鏈詳解(二) 第一節(jié)中我們介紹了javascript中的原型和原型鏈,這一節(jié)我們來講利用原型和原型鏈我們可以做些什么。 普通對象的繼承 ...
摘要:原文地址詳解的類博主博客地址的個人博客從當初的一個彈窗語言,一步步發(fā)展成為現(xiàn)在前后端通吃的龐然大物。那么,的類又該怎么定義呢在面向?qū)ο缶幊讨?,類是對象的模板,定義了同一組對象又稱實例共有的屬性和方法。這個等同于的屬性現(xiàn)已棄用。。 前言 生活有度,人生添壽。 原文地址:詳解javascript的類 博主博客地址:Damonare的個人博客 ??Javascript從當初的一個彈窗語言,一...
閱讀 3119·2023-04-25 15:44
閱讀 1889·2019-08-30 13:11
閱讀 2849·2019-08-30 11:11
閱讀 3072·2019-08-29 17:21
閱讀 1318·2019-08-29 15:38
閱讀 962·2019-08-29 12:49
閱讀 1809·2019-08-28 18:19
閱讀 3234·2019-08-26 14:01