recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - js想要避免重复代码

代码如下

1

2

3

4

5

6

7

8

9

10

11

12

13

<code>javascript</code><code>(function () {

  'use strict';

 

  function foo() {

    //to do

  }

 

  function bar() {

    foo();

  }

 

}());

</code>

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


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

util.js

1

2

3

4

5

6

7

8

<code>javascript</code><code>var demoNamespace = (function () {

    return {

        foo: function () {

            //todo

        }

    }

})();

</code>

bus.js

1

2

3

4

5

6

<code>javascript</code><code>(function () {

    function bar() {

        demoNamespace.foo();

    }

})();

</code>

伊谢尔伦伊谢尔伦2905 Il y a quelques jours257

répondre à tous(2)je répondrai

  • PHP中文网

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

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

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

    util.js

    1

    2

    3

    4

    5

    6

    7

    8

    <code>(function () {

        window.util = {

            foo: function () {

                //todo

            }

        }

    })();

    </code>

    bus.js

    1

    2

    3

    4

    5

    6

    <code>(function () {

        function bar() {

            util.foo();

        }

    })();

    </code>

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

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

    répondre
    0
  • 阿神

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    <code>function foo() {

      //to do

    }

     

    (function () {

      'use strict';

     

      function bar() {

        foo();

      }

     

    }());

    </code>

    répondre
    0
  • Annulerrépondre