如何使用jQuerygetScript使用在不同JS文件中声明的函数

How to use function declared in different JS file using jQuery getScript?

本文关键字:文件 JS 声明 函数 jQuerygetScript 何使用      更新时间:2023-10-12

我有两个JS文件。其中一个名为common.js,它使用$.getScript将其他文件包含在我的js代码中。部分内容如下:

jQuery.getScript(js_path + "table.js", function(){
  generateTable(chartData, dataTypes);
});

这个文件(common.js)还包含函数compare(a,b)。

现在,第二个文件(table.js)声明了不同的函数,该函数使用了第一个文件中的compare函数。类似这样的东西:

function someName() {
  var a = 2, 
      b = 5;
  var test = compare(a, b);
  return test;
}

当我运行代码时,它会给我:

未捕获引用错误:未定义比较

如何使用第一个文件中的函数。

jQuery.getScript首先从服务器获取JS文件,然后执行它。如果你想使用全局函数(看起来),你需要注意以下几点:

  • 在执行table.js文件之前,必须声明compare函数。

  • compare函数必须在table.js的全局命名空间上声明。

很抱歉,如果没有更多信息,这就是你所能得到的。

如果你的主文件,比如:

(function() {
   function compare(){...}
}());

compare函数不在全局命名空间中声明。

您检查了进口订单吗?应首先使用"compare"方法的文件。它应该能解决问题。

如果只是为了分离代码,我建议跳过getScript。

<script src="common.js"></script>
<script src="table.js"></script>
<script src="app.js"></script>

当公共函数变成公共函数时,表中的东西就变成了表。通过这种方式,您可以获得正确的订单。这也清除了循环依赖,通过将除"common"部分外的所有部分提取到某种形式的"app"中,可以看到表是否依赖于依赖于表的common的提示。