search

Home  >  Q&A  >  body text

javascript - 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();
    }
})();
伊谢尔伦伊谢尔伦2902 days ago254

reply all(2)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 14:57:28

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

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

    util.js

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

    bus.js

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

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

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

    reply
    0
  • 阿神

    阿神2017-04-10 14:57:28

    function foo() {
      //to do
    }
    
    (function () {
      'use strict';
    
      function bar() {
        foo();
      }
    
    }());
    

    reply
    0
  • Cancelreply