闭包的错误例子

function buildList(list) {
  
var result = [];
  
for (var i = 0; i < list.length; i++) {
    
var item = 'item' + list[i];
    result.push( 
function() {alert(item + ' ' + list[i])} );
  }
  
return result;
}

function testList() {
  
var fnlist = buildList([1,2,3]);
  for (var j = 0; j < fnlist.length; j++) {
    fnlist[j]();
  }
}

原文地址:https://www.cnblogs.com/xiaotaoliang/p/746526.html