Chrome 控制台中的 JavaScript 编译器错误

问题描述 投票:0回答:1

我正在 chrome 的控制台中进行一些 javascript 编码。

当我这样做时:

console.log(x);
let x;

它给出了“ReferenceError:x未定义”

但是当我运行以下代码时:

let x;
console.log(x);

它控制台“未定义”。

Q1:为什么会发生这种情况?

Q2:当我在名为 OneCompiler 的在线 js 编译器中运行第一个代码时,它没有给出引用错误,但给出了“无法在初始化之前访问 x”。为什么两个编译器给出不同的错误?

javascript constants let angularjs-compile
1个回答
0
投票

在您的第一个代码中,您在

console.log(x)
存在之前调用
x
,因为您首先在
console.log(x)
之后定义它。所以没有提及
x

在第二个代码中,您定义

x
,然后调用
console.log(x)
,以便您的
x
已经存在,并且不会出现错误。但您还没有为您的
x
分配任何值。所以 x 的值为“
undefined
”。在 javascript 中总是这样。如果声明变量而不初始化它,则该变量的值为“
undefined

我希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.