<script >
var data = [];
for(var k = 0; k < 3; k++){
(function(k){
data[k] = function fz(){
console.log(k);
};
})(k)
}
data[0]();
data[1]();
data[2]();
</script>
<script >
for (var i=0;i<5;i++){
setTimeout((function(j){
console.log(j);
})(i),0)
}
</script>
<script >
for (var i=0;i<5;i++){
(function(j){setTimeout(function(){
console.log(j)
},1000)
})(i)
}
</script>
function makeAdder() {
return function(y) {
return x + y;
};
}
var ad=makeAdder(12) //此时ad的内容就是function(y) { return x + y;};
console.log(ad(1)) //13