自由变量:在函数中使用,但不是形参和局部变量的变量。
经典例子:
第一种方法:
var data=[];
for (var k=0; k<3; k++){
data[k] = (function(x){
return function(){
alert(x)
};
})(k);
}
data[0]();
data[1]();
data[2]();
第二种方法:
var data = [];
for (var k=0; k<3; k++){
(data[k] = function(){
alert(arguments.callee.x)
}).x = k;
}
data[0]();
data[1]();
data[2]();
原文:http://www.cnblogs.com/xuhaodong/p/xu1108.html