JavaScript:使全局变量和函数唯一

时间:2014-04-03 01:14:43

标签: javascript

我很久以前就开始了一个项目。它变得很大,所以我分成了模块。我为每个人设计了不同的js文件,但现在我意识到我已经使用了dublicate全局变量。是否有任何工具可以扫描我的脚本并提醒同意者?

2 个答案:

答案 0 :(得分:0)

扫描?不是,我知道。

解决这个问题的好方法是使用命名空间和闭包来隐藏变量,并最大限度地减少对全局变量的依赖。

quuxModule = (function() {
  var foovar = 3;
  var barvar = 5;
  function foo() {
    return foovar;
  }
  function bar() {
    return barvar;
  }
  return {
    bar: bar,
    barvar: barvar
  }
})();

quuxModule.barvar; // 5
quuxModule.foovar; // undefined
quuxModule.bar(); // 5
quuxModule.foo(); // foo is private, undefined() raises TypeError

或者你可以更进一步,使用RequireJS制作合适的模块。

答案 1 :(得分:0)

我认为这不是一个好习惯,但是,你可以。 在导入js文件之前将它放在顶部。

<script>
// your global variable
var yourGlobalvariable;
</script>

//import scripts
<script src="yourscript1.js"></script>
<script src="yourscript2.js"></script>