/*
* 增加一层环境
*/
function
main(i){ return i } var demo = {} for(var i=0;i<5;++i){ ~function(){   var val = main(i); demo[i] = function(){ return val } }() } console.log(demo[4]())
/*
* while 循环也一样
*/
function
main(i){ return i } var demo = {}; var i = 5; while(i--){ ~function(){ var val = main(i); demo[i] = function(){ return val } }() } console.log(demo[1]())
/*
* 经典的闭包
*/
var
i = 0, lis = document.getElementsByTagName('li'), val; while(val = lis[i++]){ ~function(){ var temp = i; val.onclick = function(){ console.log(temp) } }(); }

 

posted on 2013-03-13 13:20  somesayss  阅读(7253)  评论(0编辑  收藏  举报