目前所有功能都封装在一个对象里,用户点击开始后,实例化对象,调用对象,运行程序,现在想要用户点击停止按钮后,直接销毁实例化对象,我把实例化对象=null 了但还是没有销毁继续运行。想问一下如何销毁运行中的实例化对象。
高级语言有自己的垃圾回收机制,你只能把对象的引用消除,也就是obj=null; 后面具体回收时间不是应用程序控制的。
你可以在类里面实现一个destroy之类的方法,在这个方法里释放你明确需要释放的资源,并在用户点击停止的时候调用这个方法。
其实你要销毁的不是外面的对象,而是执行功能的事件对象,销毁外面的对象是没用的
用delete直接销毁。如delete obj。
直接把对象转化为数组JSON.stringfy,然后清空数组即可array=“”。
定时器需要你用代码停止clearInterval
应该是obj=null;对象还存在是因为null也是一个对象,用typeof检测null,返回object,给对象赋null,他已经为空了,如果你觉得按此方法obj还存在的话,你可以检测obj的方法和属性,应该不在的;
<script type="text/javascript">
var x=new Object();
x.a="ddd";
window.onload=function(){
//x=null; 去掉注释再试试
alert(x.a);
}
</script>
直接设置等于undefined吧, 如果是全局变量, 比如 windows.myvalues = undefined ;就行