请考虑以下代码:
function x(){
console.log(y);
}
x();
var t = x();
console.log(t);
这将引发错误。但是,如果您在函数内部评论第一个控制台.log它将工作并打印undefined
.
这种行为的解释是什么。
谢谢。
var t
声明一个变量。它(t
(存在,但它具有undefined
值。当您读取它时,您将获得 undefined
值(x()
返回该值,因为该函数中没有 return
语句(。
y
没有在任何地方声明。当您尝试阅读它时,您会收到一个引用错误。(这将中止进一步处理,因此脚本的结果不会运行,并且永远不会到达 console.log(t)
语句(。