问下,javascript的垃圾收集器肯定能收集对象,但是垃圾收集器可以收集基本类型的变量吗?也是一段时间一段时间的收集吗?

解决方案 »

  1.   

    不管什么类型的变量,只要没有被全局变量(包括添加到页面的html元素对象)或其他在生存期的变量持有,就可以自动释放内存
      

  2.   

    主流浏览器使用的都是标记清除法,每个变量在进入一个执行环境后会被标记为“进入环境”,离开执行环境后该标记会被清除,以便垃圾收集器收回内存。
    全局执行环境是最外围的执行环境,所以全局变量最后才会被清除,因此不应该定义过多的全局变量。
    每个函数都有一个执行环境,函数执行完毕后其中的局部变量就会被销毁。
    建议你看下JavaScript高级程序设计 一书