一个简单的案例认识JS闭包

闭包是什么?

如果某个函数可以访问到外层函数作用域里面的变量,我们就称这个内层函数叫做闭包函数。

实际开发中闭包的应用案例:

// 闭包实际应用中主要用于封装变量,收敛权限
    function isFirstLoad(){
        var _list = [];
        return function(id){
            if(_list.indexOf(id) >= 0){
                return false;
            }else{
                _list.push(id);
                return true;
            }
        }
    }
    // 使用
    var firstLoad = isFirstLoad();
    firstLoad(1);  // true
    firstLoad(1);  // false
    firstLoad(2);  // true
    firstLoad(2);  // false
    
    // 你在 isFirstLoad 函数外面,根本不可能修改掉 _list 的值

本文没有长篇大论,只有这么一个小案例,自己动手敲一遍好好理解一下,闭包的精髓get到了没?❤️

你可能感兴趣的:(JS学习笔记)