美文网首页
闭包现象

闭包现象

作者: 中建云筑股份有限公司 | 来源:发表于2018-04-09 09:22 被阅读0次
  • 在一个函数内部,有权访问另一个函数中的变量(并且能够随时访问)!
  • 尽量不要去看长篇大论关于闭包的解释,很容易把自己绕晕。看一些很容易理解的例子帮助你更好的理解闭包才是最好的!
IE6时代有bug,闭包会造成内存泄漏,这个现在已经无须考虑了。
其次,闭包本身不会造成内存泄漏,但闭包过多很容易导致内存泄漏。

闭包 一 : 访问变量局限性大,不能自由访问。

function show1() {
         var a = 10;
        function show2() {
           console.log(a)
         }
  show2();
}
show1();

闭包 二 : 可以自由访问。

function show() {
         var a = 10;
          return:  function() {
           console.log(a)
         }
}
show()();

常见闭包一般出现在DOM节点操作中,看下面典型例子!

为每一个li添加点击事件,并且弹出他所在ul中的位置。

<ul id="list">
    <li>aaa</li>
    <li>aaa</li>
    <li>aaa</li>
</ul>

var  lis=document.getElementById("list").getElementsByTagName("li");
for(var i=0;i<lis.length;i++){
   lis[i]._index=i;//为每个li添加一个属性并且保存他的所在的位置。
   lis[i].onclick=function(){
          alert(i)//无论你点那个,弹出的都是3!
         alert(this._index);//可以弹出相应的位置!this指你事件触发者.即你点击的 li !
    }
}

其实闭包现象随处可见,虽然他很容易出问题且不容易调试

所以你也可以去试试啦,听着很牛逼的闭包,其实也没什么,哈哈哈哈。。。。

相关文章

  • 闭包现象

    在一个函数内部,有权访问另一个函数中的变量(并且能够随时访问)! 尽量不要去看长篇大论关于闭包的解释,很容易把自己...

  • 闭包现象

    一、什么是闭包?声明一个变量,声明一个函数,在函数内部访问外部的变量,那么这个函数加这个变量叫做闭包。 二、闭包有...

  • 闭包简易分析

    ---title: 技术分享篇---Welcome ## 闭包现象 ### 1.什么是闭包- 闭包是就是函数中的函...

  • js里闭包现象

    当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行。 下面用一些代码来解释这...

  • swift-闭包

    闭包 闭包定义 闭包简化 - 尾随闭包 闭包参数 闭包返回值 闭包的循环引用

  • 对闭包的一点理解

    什么是闭包 我理解的就是在一个作用域中可以访问另一个作用域的变量,这种现象叫做闭包。 最简单的闭包形式就是在一个函...

  • 闭包,闭包,闭包

    1、这家伙到底是什么? 网上关于这个的讨论的太多了太多了,有各种的举例子,但是大部分还在寻找这个答案的小伙伴对于变...

  • 闭包-Closures [swift 5.1]

    闭包的语法 尾随闭包 闭包逃离 自动闭包

  • Day7 闭包(Closures)

    本页包含内容:• 闭包表达式• 尾随闭包• 值捕获• 闭包是引用类型• 逃逸闭包• 自动闭包 1、闭包表达式 闭包...

  • Python闭包

    闭包 = 环境变量 + 函数 调用闭包内部的环境变量 闭包的经典误区 闭包与非闭包实现人类走路 非闭包 闭包

网友评论

      本文标题:闭包现象

      本文链接:https://www.haomeiwen.com/subject/jzyvgxtx.html