js闭包

2021-02-09 05:16

阅读:598

标签:图片   调用   它的   私有变量   js闭包   doc   变量   案例   log   

闭包:

1、一个函数嵌套另一个函数

2、内层函数调用外层函数的变量

3、内层函数作为返回值返回给外层函数

闭包代码:

        function num(){
            let i = 0
            return function getNum(){ //内层函数作为返回值返回给外层函数
                return ++i //内层函数调用外层函数的变量
            }
        }
        let n = num()
        console.log(n())//1
        console.log(n())//2
        console.log(n())//3

优点:防止变量全局污染,调用数据更加方便

缺点:耗内存,因为每次使用闭包函数都会生成一个独立的,不被销毁的执行空间,存储它的私有变量

闭包案例:

点击每个li都会打印出它对应的下标

js代码:

    const list = document.querySelectorAll(‘ul li‘)
    for(let i = 0;i){
        list[i].onclick = ((index)=>{
            return ()=>{
                console.log(index)
            }
        })(i)
    }

技术图片

js闭包

标签:图片   调用   它的   私有变量   js闭包   doc   变量   案例   log   

原文地址:https://www.cnblogs.com/zlf1914/p/13064638.html


评论


亲,登录后才可以留言!