我有一段代码如下:
function imp(user) {
return console.log("user", user)
}
var msg = imp("Jenny")
console.log("msg", msg)
我得到的输出如下:
user //for user log
undefined // for msg log
但是,如果代码是异步的,那么我期望这个undefined
,例如imp函数中的setTimeout调用如下:
function imp(user) {
setTimeout(() => {
console.log("inside the timeout for ", user)
}, 3000)
}
但是既然最上面的代码是同步的,那么为什么还要记录undefined
呢?
这不等于将一个新变量(msg)赋值给函数调用吗?
谢谢你的阅读
发布于 2022-09-13 03:01:02
问题是console.log()的返回,console.log()返回未定义的消息,而不是它刚刚记录的消息。
https://developer.mozilla.org/en-US/docs/Web/API/console/log
https://stackoverflow.com/questions/73701767
复制