function x(){
console.log(y);
}
x();
var t = x();
console.log(t);
这会抛出错误。但是如果您在函数内部注释第一个console.log,它将工作并打印undefined
。
这种行为的解释是什么。
谢谢。
答案 0 :(得分:2)
var t
声明一个变量。它(t
)存在,但它具有undefined
值。当您阅读它时,您会得到undefined
值(x()
返回,因为该函数中没有return
语句。
y
并未在任何地方声明。当您尝试阅读它时,会出现 ReferenceError 。 (这会中止进一步处理,因此脚本的结果不会运行,并且永远不会达到console.log(t)
语句。