如何调用2 js文件中存在的js方法?

时间:2018-05-18 16:05:23

标签: javascript html

在我的html文件中添加2个js文件

  <head>
    <script type="text/javascript" src="js_001.js"> </script>
    <script type="text/javascript" src="js_002.js"></script>
</head>

这两个js文件都包含方法调用&#39; func1&#39;

  1. 我如何从js_002调用func1?
  2. 如果有方法func1 =&gt; js_001         和方法func2 =&gt; js_002
  3. 当我从我的html代码调用func2时 - 我得到一个关于js_001上不存在func2的错误...为什么会这样,以及如何修复它?

2 个答案:

答案 0 :(得分:3)

global范围内使用相同名称定义的函数将自行覆盖。最后的定义将覆盖前一个定义。

因此,您可以在其他范围内填充函数,例如,对象:

// In js_001.js
var js_001 = {
    foo : function() {

    }
};

// Inside js_002.js
var js_002 = {
    foo : function() {

    }
};

然后您可以通过以下方式调用这两个函数:js_001.foo();js_002.foo();

希望它有所帮助。

答案 1 :(得分:1)

正如其他人所说,你不能。这就是为什么例如当你有更大的应用程序时使用modules是一个好主意。

您可以在函数中的js文件中编写脚本,该模块包含与此类功能相关的所有函数

档案js_001.js

var js_001 = (function () {

  return {
    foo : function () {
      // code
    }
  };

})();

档案js_002.js

var js_002 = (function () {

  return {
    foo : function () {
      // code
    }
  };

})();

并按照以下方式调用您的函数:

onclick="js_001.foo()"
onclick="js_002.foo()"