0
据我所知,你这是怎么实现松散增强到模块:模块模式增强
// file1.js:
var mod = (function(){
return { foo: 1 }
})();
// file2.js:
var mod = (function(mod){
console.log(mod); // Object { foo: 1 }
})(mod || {});
这显然作品,但我想几件事情理顺:
- 是否可以说在javascript中声明一个具有相同名称的变量永远不会导致问题(即使在严格模式下)?
- 为什么第二个IIFE中的
mod
参数没有被第二个var mod
覆盖?在声明变量之前执行了自执行函数吗?
修复了错字。也许这不是最好的例子,我大多对评估顺序感到好奇。谢谢! – Johan
@Johan很高兴帮助;我将添加一些代码,实际上会向您显示评估顺序。 –