這是我的第一篇文章!我有一個關於JavaScript中的繼承問題。使用擴展功能
當然'extend2'方法用於使用for-in循環從父對象繼承子對象。
var extend2 = function (child, parent) {
var c = child.prototype;
var p = parent.prototype;
for (var i in p) {
c[i] = p[i];
}
}
我現在在閱讀由Stoyan Stefanov撰寫的「Object Oriented Javascript」。這是一本很棒的書。
任何人都可以給我一個很好的詳細解釋,如何孩子的原型對象沒有完全覆蓋或取代,但它只是增強?
當對象繼承時,它們如何複製(原始數據類型),而不是通過使用extend2函數查找爲引用?
這真的會幫助謝謝!
你'extend2'不工作作爲斯托揚人。他遍歷父母**原型**並將所有屬性複製(原文)到孩子**原型**。當你迭代父母原型時,你嘗試訪問和複製對象本身的屬性,而不是它們的原型。 – bennedich 2012-01-18 02:25:25
我的錯誤bennedich,我重新編輯我的代碼。 – user1120327 2012-01-18 02:42:53