簡體   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