javascript/jQuery怎么防止全局变量污染和fn名称冲突?

RT
javascript/jQuery怎么防止全局变量污染和fn名称冲突?

不借助工具的话,貌似只能

1、用命名空间

var nameSpace={
v1:xxx,
v2:xxx,
  a1:function(){...},
  a2:function(){...}
}

但是实际用起来感觉命名空间很麻烦。。特别是内部fn要互相传参的时候

2、用!function(){}()将内容包起来

    !function(){
    v1=xxx;
    v2=xxx;
    
    function a1(){...}
    function a2(){...}
    }();

这个倒是用起来比命名空间简单多了- -但是每个内容都包一个(function(){})()感觉怪怪的- -

不知道还有啥好方法没- -前端模块化工具也可以,后端模块化就不用了,后端完全不懂。

阅读 5k
2 个回答

我们这边基本上是通过第二种方法

推荐问题