国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

web前端tips:js繼承——原型鏈繼承

2023-07-25 17:14 作者:上課我們聊QQ  | 我要投稿

原型鏈繼承

原型鏈繼承是 JavaScript 中實現(xiàn)繼承的一種方式,它通過使用原型來實現(xiàn)對象之間的繼承關(guān)系。

在 JavaScript 中,每個對象都有一個原型(prototype),它是一個指向另一個對象的引用。當我們訪問一個對象的屬性時,如果該對象自身沒有該屬性,則會去它的原型上查找,如果原型上也沒有,則會繼續(xù)往上層原型查找,直到找到該屬性或者到達原型鏈的頂端。

原型鏈繼承就是利用這種原型鏈的特性來實現(xiàn)繼承。具體步驟如下:

  1. 創(chuàng)建一個父類的構(gòu)造函數(shù),并定義父類的屬性和方法。

  2. 創(chuàng)建一個子類的構(gòu)造函數(shù),并將其原型對象指向父類的實例。

  3. 在子類的構(gòu)造函數(shù)中添加子類獨有的屬性和方法。

//?1
function?Parent()?{
??this.arr?=?[1,2,3]
}
Parent.prototype.getArr?=?function()?{
??return?this.arr
}

//?2
function?Child()?{
??this.name?=?'Child'
}
Child.prototype?=?new?Parent()

//?3
Child.prototype.getName?=?function()?{
??return?this.name
}

//?實例化
var?child?=?new?Child()
child.getName()?//?'Child'
child.getArr()?//?[1,2,3]

通過以上步驟,我們就實現(xiàn)了子類繼承父類的屬性和方法,并且可以在子類中添加自己獨有的屬性和方法。這樣,當我們創(chuàng)建子類的實例時,它會先在自身查找屬性和方法,如果沒有找到,則會去父類的原型上查找,從而實現(xiàn)了繼承。

優(yōu)點

原型鏈繼承方式的優(yōu)點在于?簡單。

缺點

使用原型鏈繼承的一個缺點是,所有子類的實例都共享同一個父類的實例,這可能會導(dǎo)致子類實例之間相互影響。

child.arr.push(4)child.getArr()?//?[1,2,3,4]
var?child2?=?new?Child()
child2.gerArr()?//?[1,2,3,4],想要的結(jié)果應(yīng)該是[1,2,3]

另外,如果子類需要傳遞參數(shù)給父類的構(gòu)造函數(shù),就無法通過直接調(diào)用父類的構(gòu)造函數(shù)來實現(xiàn),需要通過中間的過程來傳遞參數(shù)。

結(jié)語

牽手 持續(xù)為你分享各類知識和軟件 ,歡迎訪問、關(guān)注、討論 并留下你的小心心?


web前端tips:js繼承——原型鏈繼承的評論 (共 條)

分享到微博請遵守國家法律
镇坪县| 丽江市| 安福县| 揭西县| 定边县| 高邑县| 探索| 资阳市| 定州市| 孟州市| 鄂伦春自治旗| 远安县| 嘉黎县| 吉木萨尔县| 宕昌县| 阿克苏市| 兴仁县| 河东区| 紫阳县| 余干县| 延津县| 云和县| 宁夏| 嵩明县| 三门县| 本溪| 长沙市| 泸溪县| 天全县| 武宁县| 当阳市| 文成县| 潼关县| 道孚县| 宜兴市| 大方县| 南陵县| 襄垣县| 鄄城县| 文山县| 海阳市|