闭包,递归,沙箱

一、闭包

  1. 闭包的概念:
    函数A中有一个函数B,函数B中可以访问到函数A中定义的变量或者是数据,此时形成了闭包。
  2. 闭包的作用:
    缓存数据,延长作用域链。
  3. 优点和缺点:缓存数据。
    1. 函数模式的闭包
      function f1(){
      var num=1;
      //函数的声明
      function f2(){
      console.log(num);
      };
      f2();
      }
      f1(); //1
    2. 对象模式的闭包
      函数中有一个对象。
      function f3(){
      var num=10;
      var obj={
      age:num
      };
      console.log(obj.age);//10
      }
      f3();
      ##3. 总结
    • 如果想要缓存数据,就把这个数据放在外层函数和里层函数的中间位置。
    • 闭包的作用:缓存数据,缺点也是缓存数据,是的数据没有被及时的释放
    • 局部变量是在函数中,函数使用完毕之后,局部变量就会被释放。
    • 闭包之后,里面的局部变量是使用作用域链会被延长。

二、沙箱

沙箱就是一个环境,在一个虚拟的环境中做实验,结果和真实世界一样,但是不会影响真实世界的结果。

var num=100;
(function(){
    var num=1;
    console.log(num);//1
}());
console.log(num);//100

三、递归

函数中调用函数自己,此时就是递归,递归要有结束条件。

function getSum(x){
    if(x==1) return 1;
    return x+getSum(x-1);
}
getSum(5);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值