我试图了解JavaScript变量提升,并且与Mozilla指定的文档感到困惑。
我要参考的文档是here:
console.log(x === undefined); // true
var x = 3;
我正在使用Google Chrome浏览器上的开发人员控制台来测试此代码的最新版本。当我执行上述代码时,当Mozilla文档指出应返回 true 时,返回 false 。
上面的输出表示运行console.log()之前,x肯定设置为3。 Mozilla指定的此文档不正确吗?或者我在这里不了解某些内容?
答案 0 :(得分:2)
它将在您第一次运行时返回true
,因为x
的开头为undefined
。运行
var x = 3
后,x
设置为3
,因此,下次您运行console.log(x === undefined)
比较时,它返回false
,就像{ {1}}不再是x
。
答案 1 :(得分:0)
我在Mozilla和chrome中运行它,这是真的: 答案第一次是正确的,因为它没有定义,但是下次将是错误的。 清除控制台不会改变答案,您必须重新启动浏览器。