【发布时间】:2019-10-22 00:51:40
【问题描述】:
假设我有一个匿名函数,它需要一些变量来跟踪其状态。该函数与匿名函数内部或外部的变量相同。在决定在哪里定义变量时是否有任何性能或其他考虑因素?
例如。有什么理由喜欢这个
function fn () {
let i = 0
return something(cb => {
setInterval(() => cb(i++), 1000)
})
}
在此
function fn () {
return something(cb => {
let i = 0
setInterval(() => cb(i++), 1000)
})
}
如果匿名函数被多次调用,这些函数在功能上并不相同,但为了论证起见,假设它只会被调用一次。
【问题讨论】:
-
一般来说,变量应该有最小的范围。
标签: javascript scope anonymous-function