[英]console.log(myFunction()) returns undefined
我是 JavaScript 的新手,我尝试使用它来了解所有的进出。 我写的
function greet() {
console.log("Hi");
};
console.log(greet());
它在控制台中的结果是
> Hi app.js:2
> undefined app.js:4
我认为这是因为console.log
中的greet()
首先调用了 function,它会打印出"Hi"
。 我们得到第一行日志。 但是第二行是从哪里来的呢?
然后我想因为Hi
是greet()
的整体结果,然后console.log
基本上调用变量Hi
,但在这种情况下结果将is not defined
,不是undefined
的
在 JavaScript 中,如果使用关键字return
的函数没有返回任何内容,则默认返回undefined
。
var data = greet();
console.log(data);// undefined, since your function does not return.
相当于:
console.log(greet());
第二个输出是函数的返回结果。 由于您没有从函数返回任何内容,因此打印undefined
。
要在第二个控制台中打印“Hi”,您必须从函数中返回它。
function greet() { console.log("Hi"); return 'Hi'; }; console.log(greet());
您应该使用这样的return关键字:
function greet() {
console.log("HI");
return "HI";
};
console.log(greet());
或者您可以将其存储在变量中并返回变量:
function greet() {
const hello = ("HI");
return hello;
};
cosnole.log(greet());
,因为如果你不使用return 关键字并将函数记录到控制台然后它返回undefined 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.