在Javascript中使用全局变量的最佳方法是什么?

fly*_*ire 1 html javascript

在Javascript中使用全局变量的最佳方法是什么?

我应该做的document.x="this",document.y="that"

从长远来看,我如何避免碰撞?

Ste*_*ini 19

我个人为我的应用程序数据定义了命名空间

var myns = {};
Run Code Online (Sandbox Code Playgroud)

并定义该命名空间内的所有内容

myns.foo = 50;
Run Code Online (Sandbox Code Playgroud)

从这个意义上讲,您附加到全局对象的唯一变量是命名空间对象.其他所有内容都可以全局访问,但在您的命名空间内.这样可以减少全局对象上的冲突,最终可以根据需要定义不同的命名空间.


CMS*_*CMS 8

恕我直言,避免冲突的最佳方法是使用自执行函数表达式处理临时范围,保持所有库代码封装,并以尽可能少的方式以非常有选择的方式公开全局对象:

(function(){
  var myLib = window.myLib = function(){ // expose object
    // Initialize
  };
  // ...
})();
Run Code Online (Sandbox Code Playgroud)