我在理解jQuery变量范围时遇到了麻烦。

var myVar;

function getMyVar() {
    myVar = 'test';
}

$(window).load(function() {
    getMyVar();
});

alert(myVar);


此代码将警告“未定义”,我需要它显示“测试”,并且我想在这里了解我的范围问题。

最佳答案

问题在于,在加载窗口之前将立即调用getMyVar,而不会立即执行警报。因此,警报在定义变量之前发生。这与范围无关,而与窗口加载函数的异步执行有关。

09-03 21:15