我寫這個簡單的程序來更新JS提升值。但根據我的理解全球x需要更新,但它不更新。全局變量在函數不更新
x = 5;
var w = function(){
x = 7
var x;
console.log(x);
x = 10;
console.log(x);
};
w();
console.log(x);
輸出:
任何人都可以更詳細解釋,它爲什麼沒有更新全局x?
Javascript在值的引用上工作,所以當我寫x = 7時,它應該更新全局x。但它沒有! 所以我只想爲什麼x = 7不起作用?
謝謝!
您在函數內部重新聲明的'x''映射全局函數。 –
嘿,夥計們,我剛剛更新了我的問題。我在js方面有很好的經驗。所以我有關於scopping的想法,我該如何解決這個問題。但我只想知道爲什麼x = 7不更新? –
我在x = 7之後定義了局部x,所以x = 7應該更新全局,然後編譯器移動到下一行。但是x = 7沒有更新全局,這是我主要關心的問題? –