在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