博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年8月18日

摘要: function a(){ var i=0; }a();每次a执行的时候,都会创建一个新的执行环境,并在这个环境创建变量i,也就是说,每次的i是不一样的。这样就叫函数a对变量i的闭包。这样的代码是典型的没有闭包的代码:for(var i = 0; i < 9;i++){ a.childNodes[i].onclick = function(){ alert(i); };}它有个问题,就是变量i只有1个,最后输出的都是当前的i(=9)。要想保存执行时的i,就要利用闭包。使每次的i都不同for(var i = 0; i < 9;i++){ var fn = function(m){ v 阅读全文

posted @ 2011-08-18 11:47 xuld 阅读(434) 评论(0) 推荐(0) 编辑