枯燥的js闭包

作用一:实现公有变量

function add(){
    
    
            var count = 0;
            function demo(){
    
    
                count++;
                console.log(count);
            }
            demo();//或者return demo;
        }
        var counter = add();
        add();

作用二:可以做缓存(存储结构)

function f(temp) {
    
    
            var count=0;
            for(var i =0;i< temp;i++)
            {
    
    
                count++;
                (function () {
    
    
                    console.log(count);
                }())
            }
        }
        var i = 3;
        f(3);

作用三:封装,私有化

在函数内的变量无法直接查看,只有函数里面的功能进行查看。

作用四:模块化

命名空间

管理变量,防止污染全局,适用于模块开发。

		var name = 'bcd';
        var init = (function(){
    
    
            var name = 'abc';
            function callName(){
    
    
                console.log(name);
            }
            return function(){
    
    
                callName();
            }
        }())
        init();

利用变量私有化和立即执行函数。

猜你喜欢

转载自blog.csdn.net/weixin_51664705/article/details/113745883