我有一个名为pendingAjaxCallsCounter.js的javascript文件,其变量为“var pendingAjaxCalls”,当调用js文件中的各种方法时,该文件会递增/递减。
另外,我创建了一个自动化测试应用程序,它在与任何页面交互之前检查pendingAjaxCalls的值是否为0。我想知道,如果一个给定的页面,多次导入js文件;多 语句,如何影响我的变量“var pendingAjaxCalls”的值?
答案 0 :(得分:3)
每次包含脚本时都会运行该脚本,但请确保每次都不重新定义pendingAjaxCalls
变量。即在用以下内容声明它之前检查它的定义:
if(!pendingAjaxCalls)
var pendingAjaxCalls=0;
/* code happens here */
pendingAjaxCalls++;
答案 1 :(得分:0)
每次使用script
标记包含脚本时,浏览器都会下载文件并对其进行评估。每次包含JavaScript文件时,都会评估内容。
答案 2 :(得分:0)
如果实际调用增加变量的函数被多次插入,则可能会多次增加它。
另一方面,如果仅多次插入递增它的函数(而不是函数调用),则JavaScript将使用最新定义的版本这个功能。因此,在这种情况下,它不应该增加额外的时间。
换句话说,如果你插入相同的函数两次但只调用一次,你不必担心被调用函数的“两个副本”,因为一个副本有效地覆盖了另一个。