【发布时间】:2020-05-29 21:20:22
【问题描述】:
这不起作用,因为当“消息”不存在时正在创建“日志”。
function x() {
function log() {
console.log(message)
}
const message = "hello"
log()
}
x()
但这有效吗? setTimeout 不知道该消息,在我看来,应该抛出一个错误。但似乎在“x”函数执行完成后正在创建“日志”?这是怎么解释的?
function x() {
setTimeout(() => {
console.log(message)
}, 500)
const message = "hello"
}
x()
【问题讨论】:
-
第一个“不起作用”,因为你从不打电话给
log()。
标签: javascript closures settimeout