js混淆中的全局变量

时间:2015-02-11 09:37:45

标签: javascript jquery

$('.myclass').click(function({
    that = $(this);  
    standardDelay = setInterval(function() {
        doSomething(that.attr("id"));
    }, 1000);
});

是否可以在其他js文件中访问全局变量that?如果是,我如何将$(this)传递给我的setInterval函数?

1 个答案:

答案 0 :(得分:0)

在Javascript中,用var初始化的变量是当前代码块的本地变量(可以从内部代码块访问)

在没有var的情况下初始化的变量是全局的,可以在任何地方访问,应该避免,除非你真的想要这样做

所以你的代码可以重写为:

$('.myclass').click(function({
    var that = $(this);
    var standardDelay = setInterval(function() {
        doSomething(that.attr("id")); // You can still access `that` here
    }, 1000);
}));
// No, `that` is `undefined` here