繁体   English   中英

在函数内设置全局范围变量

[英]Setting a global scope variable inside a function

我正在尝试根据元素的高度设置动画触发器。 该项目是使用AngularJS构建的,但我遇到的问题似乎真的很奇怪。 我正在尝试在图像加载时设置imgH变量。 在我的onload函数中,日志返回正确的图像高度并设置全局变量imgH。 在我的onload函数之后,控制台日志命令返回imgH = undefined

var imgH;
        $('.step-image').on('load',function(){
            imgH = $(this).height();
            console.log(imgH);
        });
console.log(imgH);

变量设置,但最后执行console.log尚未设置。

这是您的代码运行的顺序:

  1. var imgH; -创建初始值为undefined的全局变量。
  2. $('.step-image').on('load', function ...) -设置处理程序,尚未(尚未)调用该函数。
  3. console.log(imgH); (在底部)-显示undefined因为还没有为imgH分配值。
  4. 稍后 ,在加载图像时,将调用处理程序函数并设置imgH
  5. console.log(imgH); (在处理函数中)-显示值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM