JavaScript 秀逗泄露

Pseudo-Leaks

这个被称为“秀逗泄露”真是恰当啊:)

看看这个例子:[code] < html >
< head >
< script language = " JScript " >

function  LeakMemory()

{
// Do it a lot, look at Task Manager for memory response

for (i  =   0 ; i  <   5000 ; i ++ )
{
    hostElement.text  =   " function foo() { } " ;//看内存会不断增加
}

}
</ script >
</ head >

< body >
< button onclick = " LeakMemory() " > Memory Leaking Insert </ button >
< script id = " hostElement " > function  foo() { } </ script >
</ body >
</ html >[/code]MS是这么解释的,这不是内存泄漏。如果您创建了许多无法获得也无法释放的对象,那才是内存泄漏。

在这里,您将创建许多元素,Internet Explorer 需要保存它们以正确呈现页面。

Internet Explorer 并不知道您以后不会运行操纵您刚刚创建的所有这些对象的脚本。

当页面消失时(当您浏览完,离开浏览器时)会释放内存。它不会泄漏。当销毁页面时,会中断循环引用。