在我的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;
当我从我的html代码调用func2时 - 我得到一个关于js_001上不存在func2的错误...为什么会这样,以及如何修复它?
答案 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()"