[JS]闭包与块级作用域

2018-05-13  本文已影响63人  泉落云生

什么是闭包?
函数嵌套函数,函数的返回值是函数。
特点:

//点击弹出下标
        var aBtn = document.getElementsByTagName('input');
        //闭包写法
        for(var i = 0;i<aBtn.length;i++){
            (
                function(i){ //接受闭包的(i)
                    aBtn[i].onclick = function(){
                        alert(i)
                    }
                }
            )(i)//传参 for循环的i
        }
        
        //使用块级作用域后
        for(let i = 0;i< aBtn.length;i++){
            aBtn[i].onclick = function(){
                alert(i)
            }
        }

闭包里面thisd的作用域
内部函数的this指向外部包裹它的作用域

上一篇下一篇

猜你喜欢

热点阅读