關於javascript繼承的疑問
仅有的幸福
仅有的幸福 2017-05-19 10:37:35
0
2
508

如果要實作物件A繼承B,B繼承C,除了把B的實例賦值成A的原型,除了把C的實例賦值成B的原型,有沒有別的實作方式?本人初學者,沒有查到相關的資料,請指教

仅有的幸福
仅有的幸福

全部回覆(2)
大家讲道理

換句話說,是否可以把你的問題理解為:“除了原型繼承,javascript還有什麼繼承方式?”,如果是這樣,答案是否,因為javascript的繼承就是基於原型鏈的機制實現的。
如果是問原型繼承的寫法,那倒是有幾種:
1)new構造函數創建;(即問題裡提到的這種)
2)Object.create;
1)物件字面量;
具體用法,資料就很多了:
https://developer.mozilla.org...

伊谢尔伦

除了原型繼承還有js提供的API:callapply將this的指向改變,借用方法
call用法:

a.call(b,pro1,pro2,...)

apply用法:

a.apply(b,[pro1,pro2,...]) 

兩者差異在於前者傳遞參數的方式是一個一個傳遞,後者傳遞參數的方式是透過傳遞數組,然後鋪開來

這兩者還有其他用法,例如講偽數組轉換為真數組:
Object.prototype.tostring.call(偽數組)

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板