var a = []; for(var i = 0; i < 10; i++) { a[i] = (function(j) { return function() { console.log(j) } })(i) } a[6]()
对于这个 我有点不理解 这样写是对的
var a = []; for(var i = 0; i < 10; i++) { a[i] = function() { console.log(i) } } a[6]()
这样写会是10 是什么原因啊 求讲一下原理 是不是因为这个函数没有立即执行 然后最后循环结束了 这个函数才被执行 然后就成为10了?
慕哥6287543
相关分类