如果console.log(4)在Chrome控制台中输出未定义,这意味着什么?

Ant*_*nyS 9 console google-chrome

我使用Chrome控制台编写了一个简单的声明:

console.log(4)
Run Code Online (Sandbox Code Playgroud)

并收到输出:

4
Run Code Online (Sandbox Code Playgroud)

undefined

未定义的陈述是什么意思?未定义的语句是否意味着正确执行?如果我通过一个单独的html文件执行语句,然后查看控制台,输出只是4.

Bar*_*art 11

undefined是的返回值console.log(...).

您可以通过在控制台中定义两个函数来看到这一点,一个返回一些东西,另一个不返回任何内容,例如:

function f1() {
  return 1;
}
function f2() {
  return;
}
Run Code Online (Sandbox Code Playgroud)

然后单独调用它们(手动)

f1(); // shows '1'
Run Code Online (Sandbox Code Playgroud)

f2(); // shows 'undefined'
Run Code Online (Sandbox Code Playgroud)

还要注意这些返回值字符串之前的小符号.