我有一个名为functionalUtilities 的模块,其中包含许多实用功能。缩写版本如下所示:
MYAPP.functionalUtilities = (function() {
function map(func, array) {
var len = array.length;
var result = new Array(len);
for (var i = 0; i < len; i++)
result[i] = func(array[i]);
return result;
}
return {
map:map,
};
})();
然后我有第二个模块,其中包含核心代码:
MYAPP.main = (function() {
//Dependencies
var f = MYAPP.functiionalUtilities;
//Do stuff using dependencies
f.map(...)
})()
f.map
每次我想使用map
. 当然,在依赖项中,我可以查看我的每个功能实用程序类型:
var map = f.map,
forEach = f.forEach,
等等
但我想知道是否有更好的方法来做到这一点?我读过的很多关于命名空间的文章都提到了别名,但没有建议一种“将对象的所有内容导入范围”的方法。
非常感谢您的帮助,
罗宾
[编辑] 澄清一下,我想在其中使用我的功能实用程序(map
等),MYAPP.main
而不必每次都在它们前面加上f.
这可以通过遍历每个函数MYAPP.functionalUtilities
并分配给MYAPP.main
. 但是这需要的代码量并不能证明好处是合理的,它也不是一个通用的解决方案。