关于Js继承的一个小问题
生活随笔
收集整理的這篇文章主要介紹了
关于Js继承的一个小问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個應該是內存的事吧 樓主最后還是2的原因是methodB是函數 a,b兩個函數公用一個內存,bar是基礎類型 所以改變了b.bar=3 A函數里面的bar不會變二樓這個是把整個b淺復制給a.prototype兩者直接就用一塊地方 所以會跟著變大概是這樣吧
這里加了 a.__proto__ = b;和開始的方法一樣。
那么,即使按照樓主的方法,我稍微修改了一下,實現 函數 A 繼承函數 B,看看可不可以實現:
很遺憾,輸出仍然是 2,因為 var b = new B();導致 b.bar = 3,并沒有改變函數 B 的 bar 屬性,所有如果要得到正確的答案,還是要回到最開始
先來解釋一下函數的繼承,函數的繼承也是通過__proto__來實現,利用函數的 prototype 屬性,比如要實現 A 函數繼承 B 函數,只要
這里加了 a.__proto__ = b;和開始的方法一樣。
那么,即使按照樓主的方法,我稍微修改了一下,實現 函數 A 繼承函數 B,看看可不可以實現:
很遺憾,輸出仍然是 2,因為 var b = new B();導致 b.bar = 3,并沒有改變函數 B 的 bar 屬性,所有如果要得到正確的答案,還是要回到最開始
先來解釋一下函數的繼承,函數的繼承也是通過__proto__來實現,利用函數的 prototype 屬性,比如要實現 A 函數繼承 B 函數,只要
總結
以上是生活随笔為你收集整理的关于Js继承的一个小问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 试管婴儿减胎术疼不疼
- 下一篇: 图片怎样把背景透明化