JavaScript 具备自动垃圾收集机制,也就是说,执行环境会负责管理代码执行过程当中使
用的内存。其余语言好比C 和C++,必须手工跟踪内存使用状况,适时的释放,不然会造
成不少问题。而JavaScript 则不须要这样,它会自行管理内存分配及无用内存的回收。
JavaScript 最经常使用的垃圾收集方式是标记清除。垃圾收集器会在运行的时候给存储在内
存中的变量加上标记。而后,它会去掉环境中正在使用变量的标记,而没有被去掉标记的变
量将被视为准备删除的变量。最后,垃圾收集器完成内存清理工做,销毁那些带标记的值并
回收他们所占用的内存空间。ide
垃圾收集器是周期性运行的,这样会致使整个程序的性能问题。好比IE7 之前的版本,
它的垃圾收集器是根据内存分配量运行的,好比256 个变量就开始运行垃圾收集器,这样,
就不得不频繁地运行,从而下降的性能。性能
通常来讲,确保占用最少的内存可让页面得到更好的性能。那么优化内存的最佳方案,
就是一旦数据再也不有用,那么将其设置为null 来释放引用,这个作法叫作解除引用。这一
作法适用于大多数全局变量和全局对象。优化
- var o = {
- name : 'Lee'
- };
- o = null; //解除对象引用,等待垃圾收集器回收