变量回收原则:
1.全局变量不会被回收
2.局部变量会被回收,也就是函数一旦运行完以后,函数内部的东西就会被销毁
3.只要被另外一个作用域所引用就不会被回收
例如:
var i = 1; // 全局变量不会被回收
var i = 2; // 这里重复声明变量i,因此var声明被忽略,只是把i赋值为2
var add = function () { // 全局变量不会被回收
var i = 0; // 局部变量
return function () {
i++;
console.log(i); // 被另一个作用域引用导致不会被回收
}
}();
add(); // 1