"undefined"在事件循环中获取输出,为什么?

Ved*_*ic. 1 javascript

我一直在阅读这个伟大的文章,解释事件循环.

在该文章中,有一些代码说明了消息的排队和处理方式:

function f() {
  console.log("foo");
  setTimeout(g, 0);
  console.log("baz");
  h();
}

function g() {
  console.log("bar");
}

function h() {
  console.log("blix");
}

f();
Run Code Online (Sandbox Code Playgroud)

这将在控制台(Chrome)中打印以下内容:foo,baz,blix,undefined,bar.

我想我明白这里发生了什么,但我不明白这个未定义的来源是什么?

dec*_*eze 6

undefined是返回值f(),如果您在交互式控制台上执行此操作,您将看到该值,该控制台会自动打印上次执行的表达式的值.