javascript 内存泄漏简单例子(IE6环境中存在)

<html>
<head>
<style>
    #div{
        width:expression(document.body.clientWidth - 300);
        background-color:red;
        height:200px;
    }
</style>
<script>  
     function leakMemory(){
        var parentDiv = document.createElement("<div onclick='foo()'>");
        parentDiv.bigString = new Array().join(new Array(2000).join("XXXXXX"));
     }
</script>
</head>
<body >
     <input type="button" value="Leak Memory"
        onclick="leakMemory()"/>
</body>
</html>

分析:leakMemory()中创建了一个DOM对象parentDiv,然后该对象又持有了在leakMemory()中创建的一个大数组。
当leakMemory()函数退出时,DOM并不释放临时的parentDiv对象,所以JavaScript也不能释放LeakMemory闭包和那个创建的大数组。

posted @ 2013-01-09 20:22  csdnbbs  阅读(145)  评论(0)    收藏  举报