Javascript 为什么调用此函数时输出未定义?

Javascript 为什么调用此函数时输出未定义?,javascript,function,Javascript,Function,输出为- (打招呼, 道晚安 (未定义) 为什么有一个未定义的函数?您定义的sayGoodnight()函数没有显式返回值(它只是调用向控制台写入) 您可以轻松地对此进行调整,并在sayGoodnight()函数中包含return语句,如下所示,以查看最终从包装sayHello()函数返回的返回值: 函数sayHello(){ log(“打招呼”); 函数sayGoodnight(){ console.log(“道晚安”); return“示例返回值!”; } 回复说晚安(); } var x

输出为- (打招呼, 道晚安 (未定义) 为什么有一个未定义的函数?

您定义的
sayGoodnight()
函数没有显式返回值(它只是调用向控制台写入)

您可以轻松地对此进行调整,并在
sayGoodnight()
函数中包含
return
语句,如下所示,以查看最终从包装
sayHello()
函数返回的返回值:

函数sayHello(){
log(“打招呼”);
函数sayGoodnight(){
console.log(“道晚安”);
return“示例返回值!”;
}
回复说晚安();
}
var x=sayHello();
控制台日志(x)
您定义的
sayGoodnight()
函数没有显式返回值(它只是调用向控制台写入)

您可以轻松地对此进行调整,并在
sayGoodnight()
函数中包含
return
语句,如下所示,以查看最终从包装
sayHello()
函数返回的返回值:

函数sayHello(){
log(“打招呼”);
函数sayGoodnight(){
console.log(“道晚安”);
return“示例返回值!”;
}
回复说晚安();
}
var x=sayHello();
控制台日志(x)代码

function sayHello(){
        console.log("saying hello");
        function sayGoodnight(){
                console.log("saying goodnight");
        }
        return sayGoodnight();
}
var x =sayHello();
console.log(x);
不返回任何内容,因为它只有一个
控制台.log
。尝试替换
console.log(“道晚安”)返回“说晚安”

代码

function sayHello(){
        console.log("saying hello");
        function sayGoodnight(){
                console.log("saying goodnight");
        }
        return sayGoodnight();
}
var x =sayHello();
console.log(x);

不返回任何内容,因为它只有一个
控制台.log
。尝试替换
console.log(“道晚安”)返回“sayGoodnight”
因为您没有从sayGoodnight()函数返回任何值,所以“x”是未定义的。

因为您没有从sayGoodnight()函数返回任何值,所以“x”是未定义的。

因为sayHello()依赖于sayGoodnight()该函数不返回任何值。Log只是在控制台流上输出内容。

因为sayHello()依赖于sayGoodnight()的值,并且该函数不返回任何值。Console.Log只需在控制台流上输出内容。

sayGoodnight
不返回任何内容
sayGoodnight
不返回任何内容。或者,如果要返回函数,请使用:
return sayGoodnight
而不使用
()
,这样,
x
变量将成为调用时记录其消息的函数,例如:
x()
的确如此。在节点中运行时,我感到困惑。忘记添加return而不是console.log.yes。在节点中运行时,我感到困惑。忘记添加return而不是console.log。