变量回收

时间:2021-01-27 13:36:56   收藏:0   阅读:0

下列代码存在几个变量没有被回收?

var i = 1;
var i = 2; 
var add = function() {
  var i = 0;
  return function(){
    i++;  
    console.log(i);
  }
}();
add();

有3个变量没有被回收,首先是全局变量中的i,第二个var i = 2;声明被忽略,赋值覆盖了

第二个是var add,这个变量也没有回收,他定义了一个匿名函数,并将它赋值给了add

第三个闭包中的i,闭包读取函数内部的变量,并让这些变量始终保存在内存中

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!