3

我喜欢这里提到的使用 Singleton 的想法http://www.adobe.com/devnet/html5/articles/javascript-design-patterns-pt1-singleton-composite-facade.html

    var Namespace = {
    Util: {
        util_method1: function() {…},
        util_method2: function() {…}
    },
    Ajax: {
        ajax_method: function() {…}
    },
    some_method: function() {…}
};

假设我稍后也必须添加一些方法和新命名空间(Namespace.Util2),如何在不修改上述代码的情况下添加方法

4

2 回答 2

8

很简单:

Namespace.Util.newUtilMethod = function () { };

要添加新的命名空间,

Namespace.Util2 = { /* definitions */ };
于 2012-05-24T20:09:02.460 回答
3
namespace.util.newFunc = function () { }; 

或者,如果您正在使用 jquery 并想一次添加一堆:

var newStuff = {
    newThing1: function () {...},
    newThing2: function () {...},
    newThing3: function () {...}
};

$.extend(namespace.util, newStuff);
于 2012-05-24T20:12:31.233 回答