在JavaScript中,爲什麼這個全局變量在我的函數中變得未定義?
var x = 3;
function func(randomize) {
if (randomize) {
var x = Math.random();
return x;
}
return x;
}
console.log(func(false));
正如你可以從上面的代碼中,if statement never be true
看到,但在x
值undefined
,我想了解如何聲明變量在JavaScript的工作。任何參考也是有幫助的。
更新:
任何人都可以解釋爲什麼變量被重新宣佈爲未定義的,它是如何與在JavaScript吊裝
經典吊裝 – nicovank
我認爲-3是過度的。它有一個MCVE,雖然對於那些流利的JS可能是顯而易見的,但這不是一個可怕的問題。 – Carcigenicate
我對JavaScript的託管知之甚少,但變量'x'被定義在函數之外,而且我們沒有返回函數引用' – nivas