最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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繼承——原型鏈繼承的評論 (共 條)

分享到微博請遵守國家法律
鲁山县| 沙湾县| 若尔盖县| 改则县| 潮州市| 渝北区| 泸水县| 山丹县| 皮山县| 甘德县| 巍山| 大港区| 东乡族自治县| 海宁市| 腾冲县| 甘泉县| 大邑县| 阿拉善左旗| 万山特区| 大关县| 衡水市| 米泉市| 盐源县| 衡阳县| 武义县| 依安县| 固原市| 武宣县| 黑河市| 曲水县| 邹城市| 伊金霍洛旗| 新营市| 靖江市| 青河县| 临沭县| 蒙山县| 游戏| 铜鼓县| 皋兰县| 舒城县|