在同一页面上多次导入javascript文件

时间:2010-01-20 16:36:27

标签: javascript

我有一个名为pendingAjaxCallsCounter.js的javascript文件,其变量为“var pendingAjaxCalls”,当调用js文件中的各种方法时,该文件会递增/递减。

另外,我创建了一个自动化测试应用程序,它在与任何页面交互之前检查pendingAjaxCalls的值是否为0。我想知道,如果一个给定的页面,多次导入js文件;多  语句,如何影响我的变量“var pendingAjaxCalls”的值?

3 个答案:

答案 0 :(得分:3)

每次包含脚本时都会运行该脚本,但请确保每次都不重新定义pendingAjaxCalls变量。即在用以下内容声明它之前检查它的定义:

if(!pendingAjaxCalls)
  var pendingAjaxCalls=0;

/* code happens here */

pendingAjaxCalls++;

答案 1 :(得分:0)

每次使用script标记包含脚本时,浏览器都会下载文件并对其进行评估。每次包含JavaScript文件时,都会评估内容。

答案 2 :(得分:0)

如果实际调用增加变量的函数被多次插入,则可能会多次增加它。

另一方面,如果仅多次插入递增它的函数(而不是函数调用),则JavaScript将使用最新定义的版本这个功能。因此,在这种情况下,它不应该增加额外的时间。

换句话说,如果你插入相同的函数两次但只调用一次,你不必担心被调用函数的“两个副本”,因为一个副本有效地覆盖了另一个。