我有以下代码:
function a()
{
x = 2;
console.log(x);
}
function b()
{
x = 4;
console.log(x);
}
a();
b();
我期待输出的是:
2
undefined
4
undefined
但我得到的输出是:
2
4
undefined
哪里是未定义的? Chrome控制台的屏幕截图:
答案 0 :(得分:2)
Chrome控制台旨在返回代码块的最后一项功能。但由于没有什么可以返回,它输出undefined。
这里有一些证据。
function a()
{
x = 2;
console.log(x);
return x;
}
function b()
{
x = 4;
console.log(x);
return x;
}
a();
b();
答案 1 :(得分:2)
在Chrome中的控制台中,当执行代码或代码块时,它将被视为必须返回某个内容的单个函数。当你运行这个块时:
a()
b()
控制台正在对待它:
(function() {
a()
b()
})()
当然,它没有返回任何东西。
如果您单独调用这些功能,则会看到2 undefined
s。
HTH
PS:undefined
听起来很有趣:)