全局变量不会改变

时间:2014-02-07 20:30:28

标签: javascript jquery

我正在尝试获取图像的尺寸,而不是在DOM中使用它。

var myVariable;
$('<img src="http://www.skrenta.com/images/stackoverflow.jpg"/>').load(function(){
    myVariable = this.width;
}); 
console.log(myVariable);

为什么控制台显示myVarible未定义?

2 个答案:

答案 0 :(得分:3)

您的变量未定义,因为它在图片加载后初始化,或者换句话说:console.log早期调用然后在load中运行。

答案 1 :(得分:1)

图像加载发生在单独的请求中。

myVariable将在未来的任意时间设置为宽度,几乎总是在console.log调用发生后。