为什么console.log(undefined)有时会工作而不能工作?

时间:2018-01-05 11:42:52

标签: javascript undefined

考虑以下代码:

function x(){
    console.log(y);
}
x();
var t = x();
console.log(t);

这会抛出错误。但是如果您在函数内部注释第一个console.log,它将工作并打印undefined

这种行为的解释是什么。

谢谢。

1 个答案:

答案 0 :(得分:2)

var t声明一个变量。它(t)存在,但它具有undefined值。当您阅读它时,您会得到undefined值(x()返回,因为该函数中没有return语句。

y并未在任何地方声明。当您尝试阅读它时,会出现 ReferenceError 。 (这会中止进一步处理,因此脚本的结果不会运行,并且永远不会达到console.log(t)语句。