可是我 delete objTest;后还是可以用alert(objTest.xml)看到这个对象呀?

解决方案 »

  1.   

    tryobjTest = null;objTest is ready to be garbage collected. If you insist, you can call
    CollectGarbage();
    to get the memory released, but it is not recommended
      

  2.   

    sorry, I guess I am sleep,objTest is ready to be garbage collected.
    ===>
    the object pointed to by objTest before is ready to be garbage collected
      

  3.   

    无为兄:
    看来的确是这样:作为局部变量来说,已经作为垃圾收集了,可是如果是全局变量则似乎不会或者部分不会作为垃圾收集,或者说ie的垃圾收集机制无法判断全局变量何时作为垃圾,不知这个说法对不对。
    比如以下代码:
    <script language="jscript">
    <!--
    var arrTest = new Array();function test(){
      var i;  for(i = 0; i < 10000; i++){
        arrTest[i] = new ActiveXObject("MSXML2.DOMDocument");
      }
    }
    //-->
    </script>
    执行完毕,句柄狂增40000个,然后我又执行:
    arrTest.length = 0;
    句柄减少了30000个,但还是比初始状态多出10000左右。如果不是数组而是全局变量则根本不会减少,或者说我没有找到如何释放全局变量性质的ActiveX对象的方法。
    另外CollectGarbage();是那路神仙,怎么没见过呀,还请无为兄指教!
      

  4.   

    CollectGarbage() is an undocumented JScript function, read this article for more information on Jscirpt garbage collection:http://msdn.microsoft.com/library/en-us/dnmag01/html/web0105.asp?frame=true
      

  5.   

    在VBScript下使Set objTest=Nothing好象可以。