我有两个JS文件。一个叫common.js,它使用$ .getScript包含我的js代码的其他文件。部分内容如下:
jQuery.getScript(js_path + "table.js", function(){
generateTable(chartData, dataTypes);
});
此文件(common.js)还包含函数比较(a,b)。
现在,第二个(table.js)声明了使用第一个文件中的compare函数的不同函数。像这样:
function someName() {
var a = 2,
b = 5;
var test = compare(a, b);
return test;
}
当我运行代码时,它给了我:
未捕获的ReferenceError:未定义比较
如何使用第一个文件中的功能。
答案 0 :(得分:0)
jQuery.getScript
首先从服务器获取JS文件,然后执行它。如果你想使用全局函数(看起来像),你需要注意以下几点:
您的compare
函数必须在执行table.js
文件之前声明。
必须在compare
的全局命名空间中声明table.js
函数。
很抱歉,但没有更多信息,这就是你能得到的。
如果是您的主文件,请执行以下操作:
(function() {
function compare(){...}
}());
然后,compare
函数未在全局命名空间中声明。
答案 1 :(得分:-1)
答案 2 :(得分:-1)
我建议如果只是为了分离代码而跳过getScript。
<script src="common.js"></script>
<script src="table.js"></script>
<script src="app.js"></script>
在常见功能共同使用的情况下,您的表格会进入表格。这样您就可以获得正确的订购。这也清除了循环依赖关系,人们可能会看到一个提示,如果表依赖于依赖于表的常见,除了将“常见”部分提取到某种形式的“app”之外。