2012-07-12 92 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) { 
.... 
} 

从那一刻起它将使用分配的新功能。

相关问题