javascript 闭包 变量释放GC 测试

来源:互联网 发布:java jdbc学生管理 编辑:程序博客网 时间:2024/05/01 11:16
为了直观体验确认JS变量的释放,利用VBS对象析构的功能,来提示是否释放,只能在IE 下测试
你可以修改 f 里的代码进行测试 
<title>测试GC</title> <script language="vbs">Class Cpublic property get valuevalue="ok"end property    Private Sub Class_Terminate         MsgBox("释放了")   End SubEnd Classfunction vbObj()set vbObj= new Cend function </script><button onclick="javascript:test()">创建对象</button><button onclick="javascript:a=null">主动释放</button><script language="javascript" >var a;function f(arg){  this.xx=function(){ alert( arg.value ) }  //如果这里有引用 不会马上会释放 // this.yy=function(){ alert( eval('1+2')  ) }  //有eval 的也不会马上释放 //this.zz=function(){}   //会马上释放}function test(){var o=vbObj(); a=new f(o);}setInterval(CollectGarbage, 500);</script>

原创粉丝点击