首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

jquery 闭包

2013-02-15 
jquery 闭包! 先看一段PHP代码:var abcfunction(y){var xy// 这个是局部变量return function(){alert(x

jquery 闭包!

 先看一段PHP代码:

var abc=function(y){var x=y;// 这个是局部变量return function(){  alert(x++);// 就是这里调用了闭包特性中的一级函数局部变量的x,并对它进行操作  alert(y--);// 引用的参数变量也是自由变量}}(5);// 初始化abc();// "5" "5"abc();// "6" "4"abc();// "7" "3"alert(x);// 报错!“x”未定义!

看到这里,你能判断究竟jQuery的那个代码片段是否闭包了吗?

 

  以我的理解来说吧。是否应用了闭包特性,必须确定该段代码有没有最重要的要素:未销毁的局部变量。那么很显然,没有任何实现的匿名函数不可能应用了闭包特性。但如果匿名函数里面有实现呢?那也还得确定它的实现中有没有用到那些未销毁的局部变量。所以如果问你那个开篇中的jQuery代码片段是应用了JS里的什么特性?那么它只是匿名函数与匿名函数的调用而已。但是,它隐含了闭包的特性,并且随时可以实现闭包应用。因为JS天生就是有这个特性的!


文章转载 :http://blog.csdn.net/natineprince/article/details/4759533

热点排行