JavaScript垃圾回收机制

  JavaScript的垃圾回收机制(GC):JavaScript的执行环境会负责管理代码执行过程中的内存,所以在开发过程中中无需考虑内存分配和无用内存回收的问题。

垃圾回收机制原理就是找出不再使用的变量,然后释放掉其所占用的内存,垃圾回收器是周期行的执行,一些不再使用的变量(生命周期已经结束)只可能是局部变量,

全局变量的生命周期知道浏览器卸载才会结束,局部变量只会在函数的执行过程中存在,当然还有一种特殊情况:闭包(函数执行完毕变量仍然存在)。函数一旦结束,局部变量

就没有存在的必要了,垃圾回收器会找出没有用的变量,将其释放掉,对无用的变量打上标记,一般的标记策略有两个:

      (1)标记清除:大部分浏览器都用此策略(低版本的ie除外)

      (2)引用计数:(会导致内存泄漏)执行环境中有引用的变量加1,没有引用的减1,当一个变量的的数值为0时,即可清除(循环引用的时候导致问题出现)

 

IE6根据内存分配量运行,当环境中存在256个变量或者4096个对象或者64K字符串中的任意一种情况就回触发(时间不固定)。

IE7等通过内存分配量低于程序占用内存的15%来判定是否触发。

 

posted @ 2017-03-21 15:03  小三爷2  阅读(302)  评论(0)    收藏  举报