垃圾收集器是周期性运行的,而且如果为变量分配的内存数量很可观,那么回收工作量也是相当大的。
IE 的垃圾收集器是根据内存分配量运行的,具体一点说就是256 个变量、4096 个对象(或数组)字面量和数组元素(slot)或者64KB 的字符串。达到上述任何一个临界值,垃圾收集器就会运行。这种实现方式的问题在于,如果一个脚本中包含那么多变量,那么该脚本很可能会在其生命周期中一直保有那么多的变量。而这样一来,垃圾收集器就不得不频繁地运行。
事实上,在有的浏览器中可以触发垃圾收集过程,但我们不建议读者这样做。在IE 中,调用window.CollectGarbage()方法会立即执行垃圾收集。在Opera 7 及更高版本中,调用window.opera.collect()也会启动垃圾收集例程。