2012-07-12 83 views
0

我遇到了一個JavaScript問題,我不知道如何解決。我將一堆變量和方法分組到DocManager對象中。在我的應用程序中管理「文檔」的一切都在這裏。基本上,DocManager就像一個具有單個實例的類。有沒有辦法使用JavaScript中的對象做簡單的「類似」繼承?

例:

var DocManager = { 
    doc_list : [], //Array of documents containing content and metadata 
    doc_index : 0, //Index of the currently visible document 
    loadDocList : function(collection_id, csrf_token, seq_list){ 
     ... 
    }, 
    showDocument : function(seq_index){ 
     ..., 
    }, 
    ... 
}; 

現在我碰到,我想繼承DocManager對不同的控制不同的頁面使用的情況。我需要添加一些方法並覆蓋其他方法。對象的大部分功能將保持不變。

這樣做最簡單的方法是什麼?我知道JavaScript有完整的面向對象的類/原型語法,而其他人已經爲js構建了OOP框架,但對於這種情況看起來似乎有點矯枉過正。我寧願不學習很多新的語法來實現這種簡單的面向對象。你會推薦什麼?

+0

JavaScript中的古典繼承 - [info](http://www.crockford.com/javascript/inheritance.html) – 2012-07-12 14:33:00

+0

我沒有解決原型繼承問題的方法。可能這會讓你很容易。 http://phrogz.net/js/classes/OOPinJS2.html – 2012-07-12 14:33:22

回答

1

您可以簡單地覆蓋您分配給它的功能。

YourDocuManager.showDocument = function(index, newindex, whatever) { 
.... 
} 

從那一刻起它將使用分配的新功能。

相關問題