我喜欢使用这里提到的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),如何在不修改上述代码的情况下添加方法
答案 0 :(得分:8)
简单地说:
Namespace.Util.newUtilMethod = function () { };
添加新名称空间
Namespace.Util2 = { /* definitions */ };
答案 1 :(得分:3)
namespace.util.newFunc = function () { };
或者,如果您正在使用jquery并且想要一次添加一堆:
var newStuff = {
newThing1: function () {...},
newThing2: function () {...},
newThing3: function () {...}
};
$.extend(namespace.util, newStuff);