簡體   English   中英

無法在javascript函數中讀取全局變量:(

[英]Can't read global variables in a javascript function :(

我遇到一個奇怪的問題,全局變量消失在我身上。 這是一些簡化的半偽代碼:

var globy = 99;

jQuery.get("file", function(){
  check();
})

function check(){
 main();
}

function main(){
 forloop
  whileloop
   forloop
    while(test()){}
}

function test(){
  //globy causes a reference error here
}

那應該解釋代碼結構。 一直到test()函數“ globy”都很好,但是突然在test()內部,所有全局變量都消失了。 有沒有搞錯?

如果將所有內容包裝在$(document).ready()但在文檔之外准備了test()函數,則將遇到范圍問題。

$(document).ready(function () {
    var globy = 99;

    jQuery.get("file", function () {
        check();
    })

    function check() {
        main();
    }

    function main() {
        forloop
        whileloop
        forloop
        while (test()) {}
    }
});

function test() {
    //globy causes a reference error here
}

除此之外,沒有真正的js很難說。

您的test()函數可能是在globy駐留的范圍之外定義的。 沒有更多細節,很難說。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM