闭包基础理解

什么是闭包?

     当内部函数被外部函数返回并保存时,一定会产生闭包。闭包会产生原来的作用域链不释放,过度的闭包可能会导致内存泄漏或加载过慢。

闭包基础代码分析

function test1(){
         function test2(){
             var b = 2;
             console.log(a);
         }
         var a = 1;
         return test2;         
     }
     var c= 3;
     var test3 = test1();
     test3();
      function test(){
          var n = 100;
          function add(){
              n++;
              console.log(n);
          }
          function reduce(){
              n--;
              console.log(n);
          }
          return [add,reduce]
      }
      var arr = test()
      arr[0]();
      arr[1]();
 function sayHello(){
        var myName = '' ;
        var operation = {
            setName: function(name){
                myName = name
            },
            showName:function(){
               console.log('你好,我叫'+myName);
            }
        }
        return operation;
    }
    var sayHello = sayHello();
    sayHello.setName('张三');
    sayHello.showName();

闭包有什么用

      现在感觉闭包就是里面的函数来操作外面的变量。后端可以给外面的函数传一个参,然后通过里面的函数对其进行处理,之后返回前端。继续学习中。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值