最佳答案
今天,当我看到一个全局变量在某种情况下具有 undefined
值时,我感到非常惊讶。
例如:
var value = 10;
function test() {
//A
console.log(value);
var value = 20;
//B
console.log(value);
}
test();
将输出设置为
undefined
20
在这里,为什么 JavaScript 引擎将全局值视为 undefined
?我知道 JavaScript 是个直译语言。它如何能够考虑函数中的变量?
这是 JavaScript 引擎的一个陷阱吗?