console.log(myFunction()) returns 未定义

console.log(myFunction()) returns undefined

我是 JavaScript 的新手,我试着用它来了解所有的细节。我写

function greet() {
    console.log("Hi");
};

console.log(greet());

它在控制台中的结果是

> Hi app.js:2 
> undefined app.js:4

我假设这是因为 greet()console.log 中首先调用函数,它打印出 "Hi"。我们得到第一行日志。 但是第二行是从哪里来的呢?

然后我想因为Higreet()的整体结果,所以console.log基本上调用变量Hi,但在这种情况下结果会是is not defined,不是 undefined

在 JavaScript 中,如果使用关键字 return 没有从函数中 returned,则 undefined 默认情况下 returned。

var data = greet();
console.log(data);// undefined, since your function does not return.

相当于:

console.log(greet());

第二个输出是函数的 returned 结果。由于您没有 return 从函数中获取任何内容,因此打印 undefined.

要在第二个控制台中打印 'Hi',您必须从函数中 return。

function greet() {
  console.log("Hi");
  return 'Hi';
};

console.log(greet());

您应该像这样使用 return 关键字:

function greet() {
   console.log("HI");
   return "HI";
};
console.log(greet());

或者您可以将其存储在变量和return中变量:

function greet() {
   const hello = ("HI");
   return hello;
};
cosnole.log(greet());

,因为如果你不使用return关键字并记录函数 到控制台然后它 returns undefined.