有谁知道该模式是什么,能够创建模块模式,但能够动态设置模块所在的 namespace 。
所以代替下面的内容:-
var MODULE = (function () {
var my = {},
privateVariable = 1;
function privateMethod() {
// ...
}
my.moduleProperty = 1;
my.moduleMethod = function () {
// ...
};
return my;
}());
模块可以设置为您喜欢的任何内容,我记得在截屏视频中看到过它,但不记得在哪里......
基本上我想创建一个可以分配给实现者喜欢的任何命名空间的库。
最佳答案
我认为您只需添加一个方法来设置它,然后使 MODULE
无效。
my.namespace = function( ns ) {
window[ns] = my;
window.MODULE = null;
}
然后:
window.MODULE.namespace( "myNamespace" );
window.MODULE; // null
window.myNamespace // object
或者您可以让它将模块返回到您想要的任何变量。
my.namespace = function() {
window.MODULE = null;
return my;
}
window.myNamespace = MODULE.namespace();
window.MODULE; // null
window.myNamespace // object
关于javascript - 动态命名空间模块模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4981942/