我找到了http://ejohn.org/blog/simple-javascript-inheritance/,這正是我正在尋找的,但是想知道它是否仍然有效,並且是否會導致任何問題。是John Resig的「簡單的JavaScript繼承」還好嗎?
4
A
回答
4
許多現代圖書館現在使用經典的繼承。其核心方法如下(JavaScript的模式由斯托揚斯特凡,127頁):使用它的項目
function inherit(C, P) {
var F = function() {};
F.prototype = P.prototype;
C.prototype = new F();
C.uber = P.prototype;
C.prototype.constructor = C;
}
例子有:
+0
我不明白最後2行...我個人喜歡使用Base.extend({})的可能性。 這種方法的優點是什麼? –
+0
最後兩行保存鏈接到父構造函數並將鏈接恢復到構造函數(否則它將等於F)。對我個人來說最大的好處是這是一個純粹的JS,沒有引入很多新的語法糖。 – bjornd
+1
這個答案的一個很好的擴展將展示如何處理構造函數。具體來說,如何從子類中調用父構造函數。 –
相關問題
- 1. 約翰Resig的簡單的JavaScript繼承
- 2. 需要幫助使用約翰Resig的簡單的JavaScript繼承
- 3. 如何刪除JavaScript對象(約翰Resig的 - 簡單的繼承)?
- 4. 用John Resigs修改類屬性簡單的javascript繼承
- 5. John Resig Learning高級JavaScript的JavaScript#45
- 6. 最簡單的JavaScript繼承?
- 7. 使用John Resig的Processing.js是否合理?
- 8. 簡單的JavaScript繼承插件錯誤
- 9. 有人可以解釋John Resig的pretty.js JavaScript是如何工作的嗎?
- 10. PHP中的多繼承還是有更好的方法嗎?
- 11. Javascript簡單的繼承方法
- 12. John Resig微模板錯誤
- 13. Javascript簡單原型繼承
- 14. 簡單的繼承
- 15. 簡單的繼承
- 16. 簡單的繼承
- 17. 繼承C:好,壞,還是其他?
- 18. 約翰Resig的繼承和Canvas .getContext
- 19. 非常簡單的Javascript繼承
- 20. 在JavaScript中實現簡單繼承
- 21. 確定一個函數是否使用Resig的簡單JavaScript繼承擴展另一個函數
- 22. 使用John Resig的「簡單的JavaScript繼承」我怎樣才能在方法中調用超級方法加上額外的代碼?
- 23. 與類中的對象(約翰Resig的簡單的傳承)
- 24. JavaScript擴展原型#81來自John Resig學習高級JavaScript
- 25. 簡單的繼承問題
- 26. C++中的簡單繼承
- 27. 簡單的C++繼承
- 28. 簡單的繼承問題
- 29. 使用John Resig擴展數組擴展
- 30. 單表繼承,EAV還是NoSQL?
我不知道。 Resig是Javascript的大熱門者之一。我想如果它錯了,他不一定會留下一些東西,但是對於每種情況來說都不是一種完美的方法。 –
跳舞的忍者,男人... – canon