外部脚本包含的Var范围

时间:2016-02-19 07:53:42

标签: javascript scope

我想每页只运行一次Javascript有效负载。

我解释了这个问题:我在浏览器加载的每个外部脚本的末尾附加了我自己的Javascript有效负载。因此,我的有效负载的主要功能运行的时间与外部脚本一样多(预期的类型)。

更多信息:我正在完成.js文件中的所有工作。

我的尝试:我尝试声明一个全局变量var check并实现我的主要方法如下,但这个快速修复'不起作用:

main(function(callback) {
    if (!check) {
        f(callback);
        f1(callback);
        f2(callback);
        check = true;
    }
});

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我通过使用全局变量解决了我的问题,这里是代码:

var check;

if (typeof(check) == "undefined") {
    check = true;

    main(function(jsonObj) {
        f(jsonObj);
        f1(jsonObj);
        f2(jsonObj);
    });
}

var check的冗余声明不会影响其值或其他任何因素,因此可行,没有多少外部脚本加载此代码,他们将首先评估在第一次执行时设置的检查类型主要的,然后他们不会重新执行相同的代码。