【发布时间】:2018-06-29 22:59:54
【问题描述】:
我是 JavaScript 新手,我尝试使用它来了解所有内容。我写
function greet() {
console.log("Hi");
};
console.log(greet());
它在控制台中的结果是
> Hi app.js:2
> undefined app.js:4
我认为这是因为console.log 内部的greet() 首先调用了该函数,该函数打印出"Hi"。我们得到第一行日志。 但是第二行是从哪里来的呢?
然后我想因为Hi是greet()的整体结果,那么console.log基本上调用变量Hi,但在这种情况下结果将是is not defined,而不是undefined
【问题讨论】:
-
greet()的返回值是未定义的,所以你看到的就是第 4 行的日志。 -
没有特定
return值的函数在执行时默认返回undefined。在浏览器的控制台中检查console.log((function(){})())。 -
Hi不是greet()的整体结果,该函数只是将消息记录到控制台。看起来您实际上想要return "Hi";没有指定return值的函数返回undefined。
标签: javascript undefined console.log