JavaScript闭包的注意事项

美女程序员鼓励师

1、创建了一个闭包以后,函数的作用域就会一直保存到闭包不存在为止。

function makeAdder(x) {

  return function(y) {

    return x + y;

  };

}

 

var add5 = makeAdder(5);

var add10 = makeAdder(10);

 

console.log(add5(2));  // 7

console.log(add10(2)); // 12

 

// 释放对闭包的引用

add5 = null;

add10 = null;

2、闭包只能取得包含函数中任何变量的最后一个值,因为闭包所保存的是整个变量对象,而不是某个特殊的变量。

function test(){

  var arr = [];

  for(var i = 0;i < 10;i++){

    arr[i] = function(){

      return i;

    };

  }

  for(var a = 0;a < 10;a++){

    console.log(arr[a]());

  }

}

test(); // 连续打印 10 个 10

以上就是JavaScript闭包的注意事项,希望对大家有所帮助。更多Javascript学习指路:Javascript

推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。

以上是 JavaScript闭包的注意事项 的全部内容, 来源链接: utcz.com/z/545238.html

回到顶部