我遇到的问题是一个文件中有一组变量值/属性,另一个文件中有一个库。我已经开始重构代码,但仍然需要以不同的方式保留变量值(动态)和库(静态)。
我正在使用命名空间,并且总体上只需要一个全局命名空间。
目前我遇到的问题: 1. 如何才能保留一个全局命名空间 2. 从一个文件读取值并在另一个文件中的库中使用它的最佳方法是什么。
例如我想出了类似的东西
//File ONE with values
var main.dynamicvalues = (function(){
var a = 10,
b = 20,
c = 30;
return {
a:a,
b:b,
c:c
}
}());
//File TWO with core Library
var main.library = (function(){
//Various Private functions that need to use a,b,c variables from above main.dynamicvalues namespace
return {
//Public functions again need to use a,b,c from above namespace.
}
}());
有没有一种方法可以让我拥有一种模式,以便我只保留一个全局命名空间,并且可以直接引用变量,而不必使用 maincode.values.a、maincode.values.b、maincode.values.c 或类似的东西这在 maincode.library.functions 中
谢谢 斯帕什·古普塔
最佳答案
这种方法稍微好一点,但并不完全是您想要的。
var main = {};
main.dynamicvalues = (function() {
// same as before
})();
main.library = (function(dyn){
// use dyn.a, dyn.b etc
return {
// same in here
}
}(main.dynamicvalues));
关于Javascript 模块模式帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6855782/