闭包[closure]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了闭包[closure]相关的知识,希望对你有一定的参考价值。

接触JS闭包来自于日常项目

1.for循环操作DOM层时,结果发现最终的I是在for循环结束后,click事件被访问到最后一次全局的值了

for(var i=0,blen=$("button").length;i<blen;i++){

  (function(lockedIndex){

    $("#button"+lockedIndex).click(function(){

      console.log(lockedIndex);

    })

  })(i);

}

 

2.为何主流前端框架(Jquery,Zepto等)在引入后,都使用闭包结构

引用后,立即执行,使引入的代码立即执行,这样可以保证宿主环境中,随时可以得到该全局变量,如Jquery使用的$符号。在全局中可以被搜索到并执行。

最近正好在看SeaJS源码,顺带贴上

SeaJS源码分析

(function(global,undefined){

  

})(this)

以上是关于闭包[closure]的主要内容,如果未能解决你的问题,请参考以下文章

Groovy闭包 Closure ( 闭包类 Closure 简介 | thisownerdelegate 成员赋值及源码分析 )

Groovy闭包 Closure ( 闭包作为函数参数 | 代码示例 )

Groovy闭包 Closure ( 闭包作为函数参数 | 代码示例 )

Groovy闭包 Closure ( 闭包类 Closure 简介 | thisownerdelegate 成员区别 | 静态闭包变量 | 闭包中定义闭包 )

什么是外函数,什么是内函数?闭包(Closure)是什么?说说你对闭包(Closure)的理解?

PHP Closure(闭包)类详解