簡體   English   中英

為什么我在將 function 調用分配給變量時得到未定義,即使它是同步調用?

[英]Why I'm getting undefined while assigning a function call to a variable even when it is a synchronous call?

我有一段代碼是這樣的:

 function imp(user) { return console.log("user", user) } var msg = imp("Jenny") console.log("msg", msg)

我得到一個 output 是這樣的:

user //for user log
undefined // for msg log

但是,如果代碼是異步的,我希望這是undefined的,例如 imp function 中的 setTimeout 調用為:

function imp(user) {
  setTimeout(() => {
    console.log("inside the timeout for ", user)
  }, 3000)
}

但是由於最上面的代碼是同步的,那么為什么它仍然記錄undefined

這不等於簡單地將新變量(msg)分配給 function 調用嗎?

謝謝閱讀

問題是 console.log() 的返回,console.log() 返回 undefined 而不是它剛剛記錄的消息。

https://developer.mozilla.org/en-US/docs/Web/API/console/log

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM