我是JavaScript的新手,我尝试用它来理解所有的内部和外部。我写了
function greet() {
console.log("Hi");
};
console.log(greet());
它在控制台中的结果是
> Hi app.js:2
> undefined app.js:4
我认为这是因为greet()
内的console.log
首先调用该函数,该函数会打印出"Hi"
。我们得到第一行日志。 但第二行是从哪里来的?
然后我想因为Hi
是greet()
的总体结果,然后console.log
基本上调用变量Hi
,但在这种情况下,结果将是is not defined
,而不是undefined
答案 0 :(得分:3)
在JavaScript中,如果使用关键字return
从函数返回任何内容,则默认返回undefined
。
var data = greet();
console.log(data);// undefined, since your function does not return.
相当于:
console.log(greet());
第二个输出是函数返回的结果。由于您没有从函数返回任何内容,因此打印undefined
。
打印'嗨'在第二个控制台中,你必须从函数中返回它。
function greet() {
console.log("Hi");
return 'Hi';
};
console.log(greet());