js系列四:内存回收机制

一、垃圾回收的必要性
  下面这段话引自《JavaScript权威指南(第四版)》
  由于字符串、对象和数组没有固定大小,所有当他们的大小已知时,才能对他们进行动态的存储分配。JavaScript程序每次创建字符串、数组或对象时,解释器都必须分配内存来存储那个实体。只要像这样动态地分配了内存,最终都要释放这些内存以便他们能够被再用,否则,JavaScript的解释器将会消耗完系统中所有可用的内存,造成系统崩溃。
  这段话解释了为什么需要系统需要垃圾回收,JS不像C/C++,他有自己的一套垃圾回收机制(Garbage Collection)。JavaScript的解释器可以检测到何时程序不再使用一个对象了,当他确定了一个对象是无用的时候,他就知道不再需要这个对象,可以把它所占用的内存释放掉了。例如:

var a = "one";
var b = "overide a";
a = b;

在这里插入图片描述

var a = "one";
var b = "overide a";
a = b;
console.log(a);
console.log(b);
var a = b;
console.log(a);

在这里插入图片描述
这段代码运行之后,“one”这个字符串失去了引用(之

已标记关键词 清除标记
05-08 1945
05-06 2173
实付 79.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值