js对象废除
ECMAScript有无用存储单元收集程序,意味着不必专门销毁对象来释放内存。当再没有对对象的引用时,称该对象被废除了。运行无用存储单元收集程序时,所有废除的对象都被销毁。每当函数执行完它的代码,无用存储单元收集程序都会运行,释放所有局部变量,还有在一些其他不可预知的情况下,无用存储单元收集程序也会运行
吧对象的所有引用都设置为null。可以强制性的废除对象。例如:
var obj = new Object; //如果构造函数无参数,括号则不是必须的,因此可以采用这样无括号的方式重写 var obj = new Object();
obj = null;
当变量obj设置为null,对第一个创建的对象的引用就不存在了,这意味着下次运行无用存储单元收集程序时,改对象将被销毁。
没用完一个对象后,将其废除来释放内存,这是一个好习惯,这样还确保不再使用已经不能访问的对象,从而防止程序设计错误的出现。此外,旧的浏览器(如IE和Mac)没有全面的无用存储单元回收程序,所以在卸载页面时,对象可能不能被正确销毁。废除对象和它所有特性是确保内存使用正确的最好方法
废除对象的所用引用时要当心。如果一个对象有两个或更多引用,则要正确废除该对象,必须将其所有引用都设置为null