作者:LAMP小白 点击:1986 发布日期:2012-12-26 00:34:00 返回列表
官方解释:指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。
我理解的是,根据JS的垃圾回收机制,只有在一个函数运行完成且在其他地方也没有函数或变量使用他时,这个函数中的局部变量才会被释放,闭包的原理就是声明一个函数,并在其中声明变量和函数,然后通过一些手段,让这些变量和函数一直被使用,从而达到将一个局部变量或方法公用到外部的目的
这样做有什么好处?
安全,修改外部没有办法修改局部变量,只能通过预留好的修改方法进行修改
可以达到类的效果,即同样的函数能够存在不同的结果,他们真实存在,却相互独立
mio_lt;scriptmio_gt; mio = new Object(); var val = 'out'; mio.get = function(){ var val = '1'; function set( i ){ val = val + i; return val; }; return set; } var c = mio.get(); var d = mio.get(); alert( c(1) ); alert( c(2) ); alert( d(1) ); alert(val); mio_lt;/scriptmio_gt;
上一篇:jqueryUI缓动特效 下一篇:快递查询API