08.01 闭包

1 function f1(){
2     var a = 1;
3     var b =2;
4 
5     return    function f2(){alert(a);}  
6 }
7 
8 var result = f1();
9 result();  // 1

 

 

1、函数不返回时已经产生闭包。

2、初始化 lexcialEnov的时候,已经产生闭包。  // 静态作用域建立时候,已经初始化了。

3、闭包的本质就是作用域链。sub{[scope]} -> main {[scope]}

 

 

 

/// instance:  闭包的应用。

 

  (function(){
    var m = 0;
    function getM(){
      return m;
    }
    function setM(val){
      m = val;
    }
    window.gM = getM;
    window.sM = setM;
  })()

  sM(10);
  alert(gM());

 

转载于:https://www.cnblogs.com/Tachi/p/5726023.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值