直接上代码:

"use strict"
function process(data){
   console.log(data);
}
let someBigData = {
   vvv : 1,
   ccc : 2
}
process(someBigData);
console.log(someBigData);

上面中代码someBigData被process调用后没有其他用途了,但是console.log还是可以调用到someBigData,说明someBigData仍被引擎缓冲着。那么怎样告诉引擎,这个数据没有意义呢?如下:

"use strict"
function process(data){
   console.log(data);
}
{
   let someBigData = {
      vvv : 1,
      ccc : 2
   }
   process(someBigData);
}
console.log(someBigData);

使用代码块{}告诉引擎,这些是可以进行垃圾回收的。在后面的console.log调用会跑出引用异常的错误,也就是someBigData已经被引擎销毁。