6-12这里为啥说key命中了一个闭包?
来源:6-12 响应式 - 模拟
慕少2549817
2019-10-25
这里为啥说key命中了闭包,需要用(function (key){})(key)这种立即执行的方式使用呢?
写回答
1回答
-
如果不用 (function (key){...})(key) ,执行完这段代码 key 就编程了 data 的最后一个属性名了。
有点类似于这个问题
问题:创建 10 个<a>标签,点击的时候弹出来对应的序号 。
答案:
var i
for (i = 0; i < 10; i++) {
(function (i) {
var a = document.createElement('a')
a.innerHTML = i + '<br>'
a.addEventListener('click', function (e) {
e.preventDefault()
alert(i)
})
document.body.appendChild(a)
})(i)
}
上面就有一个 (function (i){...})(i) 自执行函数,否则就会出错。
012019-10-28
相似问题