国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

老生常談 關于JavaScript的類的繼承

2019-11-20 09:36:46
字體:
來源:轉載
供稿:網友

其實最一開始學JS的時候就看過繼承的實現。當時只是去試著理解從書上看來的代碼段而已。今天又重新思考了一下,感覺這是一個思維探索演進的結果。

繼承,即復用。

如果拋開繼承的固有思想,讓b復用a的成員,最簡單粗暴的做法, b=a;

那么,問題來了: 對b的任何改動,就是對a的改動(同一個object嘛)。

好吧,那就拷貝一份,淺拷貝不夠安全的話,就用深拷貝。

問題:代碼是復用了,但內存浪費了(不管是變量還是方法,在JS中都是對象)。

不拷貝,只讀不寫,就可以用JS的原型,b.__proto__ = a。一般我們不直接更改__proto__,太暴力了,JS中提供了一個method可以比較“溫和”地達到目的――Object.create(b)。

m.survivalescaperooms.com

這個方法可行,但這只是具體對象的復用模式,如果做到“利用ConstructorB創建的對象能復用ConstructorA的對象的原型”呢?

答案是:將b看成是ConstructorB.prototype,將a看成ConstructorA.prototype.

m.survivalescaperooms.com

問題:

m.survivalescaperooms.com

解決方法:

申明ConstructorB的時候,系統自動會讓ConstructorB.prototype.constructor=ConstructorB; 在上面代碼中為了復用ConstructorA.prototype, 丟掉了constructor, 補上即可。

m.survivalescaperooms.com

以上是最基本的繼承,關于子類如何更通用地調用父類的構造函數及成員(如this._super),如何更通用地實現繼承模式(如A=inheritFrom(B)),等等,不在本文范圍^O^

以上就是小編為大家帶來的老生常談 關于JavaScript的類的繼承全部內容了,希望大家多多支持武林網~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 房产| 涿鹿县| 晋宁县| 辰溪县| 即墨市| 通江县| 赣州市| 如皋市| 遂宁市| 安塞县| 阿荣旗| 安阳县| 高陵县| 铁岭县| 额尔古纳市| 陇西县| 额济纳旗| 东丰县| 延吉市| 浦北县| 固始县| 鄢陵县| 平潭县| 延庆县| 巩义市| 崇仁县| 探索| 方城县| 娄底市| 孝昌县| 成都市| 陇川县| 军事| 马公市| 辽阳市| 明星| 新沂市| 得荣县| 台北县| 顺昌县| 桃园县|