【发布时间】:2010-04-30 12:09:48
【问题描述】:
关于 jQuery 实用函数 jQuery.data() 在线文档说:
"jQuery.data() 方法允许我们 将任何类型的数据附加到 DOM 元素以安全的方式 循环引用,因此从 内存泄漏。 "
为什么要使用:
document.body.foo = 52;
可能导致内存泄漏 - 或在什么情况下 - 我应该使用
jQuery.data(document.body, 'foo', 52);
在任何情况下我都应该更喜欢 .data() 而不是使用 expandos 吗?
(如果您能提供一个比较差异的示例,我将不胜感激)
谢谢,
布拉克·奥兹多安
【问题讨论】:
-
可以stackoverflow.com/questions/1056098/…回答你的问题吗?
-
我猜?十年来,IE 遭受了这种邪恶的折磨。但是 AFAIK 仅在您删除/分离 DOM 元素时才会发生,而它仍然设置了事件处理程序。
-
@jweyrich:虽然 IE 因内存泄漏而臭名昭著,但其他浏览器也无法幸免。
-
@Andy 非常真实!但我无法抗拒,对不起。
标签: javascript jquery memory-leaks expando