javascript - jQuery 变量作用域/调用顺序

标签 javascript jquery scope

我无法理解 jQuery 变量范围。

var myVar;

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

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

alert(myVar);   

这段代码会提示“未定义”,我需要它来显示“测试”,我想在这里了解我的范围问题。

最佳答案

这不是范围问题。

alert 甚至在 window.load 事件被触发之前就开始执行,这是变量 myVar 被赋予值“test”的地方。

根据 MDN 文档:

The load event fires at the end of the document loading process. At this point, all of the objects in the document are in the DOM, and all the images and sub-frames have finished loading.

关于javascript - jQuery 变量作用域/调用顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6950289/

相关文章:

javascript - 迭代 JavaScript 对象以绑定(bind)键

javascript - 如何从集合中获取json对象键名并迭代

javascript - 如何多次触发 '.click' 事件?

javascript - 如何在重定向后立即执行 JavaScript 操作?

javascript - 在模板中包含包含 html 的变量 - angular2

javascript - 添加类时,粘性导航会跳过几个像素

scope - 如何创建非基于线程的 Guice 自定义 Scope?

c++ - 当我在同一范围内多次初始化同名局部变量时,为什么 C++11 编译器不报错?

javascript - 如何在 JavaScript 或 jQuery 中检查类名,并重新加载到另一个 URL

c# - 启动/更新变量范围