闭包
来源:4-2 闭包
诺巴蒂
2019-11-06
- 函数作为返回值
- 函数作为参数
闭包的情况只有这两种吗,感觉一个函数只要用了自己里面没有的变量(自由变量),是不是都可以叫闭包
比如:timer 也是个闭包
for (var i = 1; i <= 5; i++) {
(function(j) {
setTimeout(function timer() {
console.log(j)
}, j * 1000)
})(i)
}
还有 setTimeout 的第三个以后的参数也可以解决 a 标签点击弹出序号的问题,这样回答会不会不符合面试官用意。。。
for (var i = 1; i <= 5; i++) {
setTimeout(
function timer(j) {
console.log(j)
},
i * 1000,
i
)
}
写回答
1回答
-
第一,你这么理解闭包也没有问题。其实概念不重要,知道应用场景就好。
第二,不要去找一些怪异的回答方式,要符合主流。
112019-11-06
相似问题