js想要避免重复代码

代码如下

javascript(function () {
  'use strict';

  function foo() {
    //to do
  }

  function bar() {
    foo();
  }

}());

有多个类似的js文件都在自己的方法里使用到foo方法
怎么样可以把foo方法提取到外面的一个单独的js文件里,而在bar里面可以调用到


再次谢谢各位的帮忙,根据提供的答案并且查看了一些文档
总结下是使用模块模式"module pattern"

util.js

javascriptvar demoNamespace = (function () {
    return {
        foo: function () {
            //todo
        }
    }
})();

bus.js

javascript(function () {
    function bar() {
        demoNamespace.foo();
    }
})();
阅读 4.8k
2 个回答

避免重复就是将共同的逻辑抽出成公共的方法,反复调用。
你可以这么干:

  • 新建一个util.js的模块
  • 暴露接口供业务调用

图片描述

util.js

(function () {
    window.util = {
        foo: function () {
            //todo
        }
    }
})();

bus.js

(function () {
    function bar() {
        util.foo();
    }
})();

页面先引入util.js后引入你的业务bus.js

楼主可以看看requirejs,希望对你有所帮助

function foo() {
  //to do
}

(function () {
  'use strict';

  function bar() {
    foo();
  }

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