繁体   English   中英

“未定义”从哪里来?

[英]Where is "undefined" coming from here?

我有以下代码:

console.log(doSomething);
doSomething();

function doSomething() {
    console.log("Declare something");
}

在控制台中返回

[Function: doSomething]
Declare something

但是当我写

console.log(doSomething());

function doSomething() {
    console.log("Declare something");
}

控制台说

Declare something
undefined

我明白为什么它只说“声明某事”而不是“[功能:做某事]”,但为什么它说“未定义”? 为什么它不说“声明某事声明某事”?

Undefined 是 function 的返回值。为此例如更改您的 function 以证明这一点。

function doSomething() {
    console.log("Declare something");
    return "test";
} 

第二个日志是关于你的console.log(doSomething()); 这是打印你的 function 的return 。在这种情况下,你没有返回任何东西,因此它打印undefined

那是因为你没有声明function的return语句。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM