JS中避免变量命名冲突的方法就是把代码放到一个自执行匿名函数之内,但是除了这个还有其好的代码组织方式吗?

我的代码组织方式:

//把自己的全部代码用一个自执行函数包起来
(function() {
    
    //下面是实现图片轮播的代码,也用一个自执行函数包括起来
    (function() {
        //图片轮播的代码...
        //图片轮播需要用到的变量和函数
        var $a = ...;
        var $b = function() { ... };
        //其它的代码
        ....
    })();
    
    //下面是实现顶部导航特效的代码,也用一个自执行函数包括起来
    (function() {
        //实现特效的代码...
        //特效要用到的变量和函数
        var $a = ...;
        var $b = function() { ... };
        //其它的代码
        ....
    })();
})();

这样写的话,随着功能的增多,自执行的匿名函数会越写越多。看起来有些不伦不类。

大家平常都用哪些好的方法去组织代码的?

阅读 4.5k
6 个回答

使用es6吗?

在es6中可以使用代码块
{

var a = 1;

}
定义变量可以使用
let a = 1;

函数可以使用
()=>{
}

变量名冲突解决办法

尽量少用全局变量,造成全局污染
尽量用let(es6)代替var可以解决变量提升等问题。

如果用了jQuery的话可以把你的全局变量extend到jQuery下

拥抱 ES6 吧,使用 let

模块化 开发

遵从楼上说的,用let,既不会污染也避免重名

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题