标签:内存 全局变量 回收 变量 匿名函数 var log 存在 读取
下列代码存在几个变量没有被回收?
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,闭包读取函数内部的变量,并让这些变量始终保存在内存中
标签:内存 全局变量 回收 变量 匿名函数 var log 存在 读取
原文地址:https://www.cnblogs.com/gzeal/p/14330900.html