闭包

1、闭包可以访问当前函数以外的变量

  function a() {
    var date = '1';
    function b(str) {
      console.log(str + date);  //访问外部的date
    }
    return b('数字是');     //外部函数返回
  }
  a();

 

2、即使外部函数已经返回,闭包仍能访问外部函数定义的变量

  function a() {
    var date = '1';
    function b(str) {
      console.log(str + date);  //访问外部的date
    }
    return b;     //外部函数返回
  }
  var num = a();
  num('数字是'); // 数字是1

 

3、闭包可以更新外部变量的值

  function a() {
    var count = 1;
    function b(x) {
      count = x;
      console.log(count);  //访问外部的date
    }
    return b;     //外部函数返回
  }
  var y = a();
  y(666)

 

posted @ 2019-02-22 11:03  最爱小虾  阅读(170)  评论(0编辑  收藏  举报