我试图理解 JavaScript 变量提升,但我对 Mozilla 指定的文档感到困惑。
我指的文档是 here :
console.log(x === undefined); // true
var x = 3;
我正在使用 Google Chrome 上的开发人员控制台来测试最新版本的代码。当我执行上面的代码时,当 Mozilla 文档指出应该返回 true 时,我返回了 false。
上面的输出意味着在运行 console.log() 之前 x 肯定被设置为 3。 Mozilla 指定的这份文档是否不正确,或者我在这里有什么不理解的地方?
最佳答案
它会在您第一次运行时返回 true
,因为 x
开始时是 undefined
。运行 var x = 3
后,x
会设置为 3
,因此下次运行 控制台时.log(x === undefined)
比较它返回 false
,因为 x
不再是 undefined
。
关于javascript - 为什么这段来自 JavaScript 的简单代码会错误地进行变量提升?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54099030/