按照使用优先级顺序分为以下三种:
一.delete 关键字;
举例如下:1 var o = { x: 1 };
2 delete o.x; // true
3 o.x; // x的值为undefined
但是,像这样声明的变量则不行:
1 var x = 1;
2 delete x; // x不能被删除,delete返回false
3 x; // x的值为仍为1
或者如此声明的函数:
1 function x(){}
2 delete x; // x函数不能被删除,delete返回false
3 typeof x; // x的值仍为"function"
注意,当一个属性不能被删除时,delete只返回false。
二.将不需要的对象设置为null.
如:req=null; //这样可以帮助浏览器释放和回收内存
三.IE浏览器下使用CollectGarbage回收内存,可采用如下两种方式进行判断和使用。
第1种.:判断window顶级对象是否存在CollectGarbage属性。
if(window.CollectGarbage){
window.CollectGarbage();
}
第2种:判断当前浏览器是否为Microsoft Internet Explorer.
if(navigator.userAgent.indexOf("MSIE")>0){
window.CollectGarbage();}
以上三种内存释放方式,可组合使用。