美文网首页
什么是闭包?闭包的好处是什么?

什么是闭包?闭包的好处是什么?

作者: lessonSam | 来源:发表于2020-02-22 20:45 被阅读0次

    什么是闭包,闭包的好处

    闭包 : 再函数外部可以访问函数内部的变量

    好处:

    1. 可以在函数玩不访问函数内部的变量
    
    2. 这些变量的值始终保存在变量中,不会被清除
    

    坏处: 容易造成内存泄漏

    闭包的相关应用

    利用 闭包实现点击li 弹出对应的下标

    <ul id='ul'>
        <li>a</li>
        <li>b</li>
        <li>c</li>
    </ul>
    

    第一种 匿名函数自执行

      window.onload=function(){
          
            var oul =document.getElementById("ul")
            var olis =oul.children
            console.log(olis);
            for(var i=0;i<olis.length;i++){
                (function(i){
                    olis[i].onclick=function(){
                        alert(i)
                    }
                })(i)
            
        }
        }
     
     
    

    第二种方法 保存变量法

    // 思路 保存 变量法 把所有的 下标 保存 点击 弹出
    window.onload = function () {
            var oul = document.getElementById("ul")
            var olis = oul.children
           for(var i =0 ; i< olis.length;i++){
               olis[i].id =i 
               olis[i].onclick=function(){
                
                console.log(this.id);
                
               }
           }
        }
    

    相关文章

      网友评论

          本文标题:什么是闭包?闭包的好处是什么?

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