由於某種原因,某些JavaScript全局變量在某些時候設置爲局部變量時會變得未定義。 例如,在以下示例中,local
通常會變成「undefined
」。 你們中的任何人都可以請指教嗎?JavaScript全局變量undefined函數內部有時
我期待的「local
」的值是「全球價值」的functionB()
和functionC()
或doStringProcessingA()
和doStringProcessingB()
。 「local
」的值是「undefined
」。我確定沒有其他地方可以在任何地方分配值或設置爲全局。
我檢查了下面的鏈接,但它似乎沒有關係。 'Hoisted' JavaScript Variables 和 Why a variable defined global is undefined?
泛函()由從HTML onClick事件調用。
var global;
function functionA(){
global = "global value";
}
function functionB(){
var local = global;
doStringProcessingA(local);
}
function functionC(){
var local = global;
doStringProcessingB(local);
}
<div onclick="functionA()">
<span class="Text">Submit</span>
</div>
您的'全局'變量沒有被賦予全局任何值。它從'functionA'中獲得它的值。確保先調用'functionA',然後調用其他函數,這些函數使用'global'變量的值。 –
我無法完全解析你的英語。你說全局變量變得不確定?當你說「設置爲局部變量的全局變量」時,你的意思是「全局變量,當該全局變量被賦予局部變量的值」還是「全局變量,當局部變量變量賦值時」?請注意,與許多其他語言不同,「設置A到B」的英文意思是「更改A的值,使其現在具有B的值」,而不是「取A的值並將其置於(設置)INTO B」。 – 2017-09-13 03:08:16
我期待在函數B和函數C或doStringProcessingA和doStringProcessingB中「本地」的值是「全局值」。 「本地」的值是「未定義的」。我確定沒有其他地方可以在任何地方分配值或設置爲全局。 –