jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 为什么jQuery的.data()函数更好地防止内存泄漏?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
关于jQuery实用程序函数jQuery.data(),在线文档说:

为什么使用:

document.body.foo = 52;

可以导致内存泄漏 – 或者在什么条件下 – 以便@R_275_10675@用

jQuery.data(document.body,'foo',52);

在任何情况下,我是否总是更喜欢.data()而不是使用expandos?

(如果你能提供一个比较差异的例子,我将不胜感激)

谢谢,

burak ozdogan

解决方法

更准确的原因是它在你给出的引用中所说的内容:“不受循环引用的影响.”

假设您有变量nodeOne和nodeTwo,它们引用节点.

比如说你把它放在一个函数中(你没有存储它的引用):

jQuery.data(nodeOne,'item',nodeTwo);
jQuery.data(nodetwo,nodeOnE);

函数运行之后,有一个循环引用:nodeOne有一个对nodeTwo的引用,反之亦然.

通过使用jQuery.data,该循环引用不会阻止这两个变量被垃圾回收.

但是,如果您在不使用jQuery.data的情况下执行相同操作,则即使不再需要变量,也不会对nodeOne和nodeTwo变量进行垃圾回收.

除非您正在进行大量数据设置并且需要额外的性能下降(并且您可以通过使性能分析来判断)并且确定您不会创建循环引用(或者至少是一个重要的数字),那么是的,你也可以只使用jQuery.data.

大佬总结

以上是大佬教程为你收集整理的javascript – 为什么jQuery的.data()函数更好地防止内存泄漏?全部内容,希望文章能够帮你解决javascript – 为什么jQuery的.data()函数更好地防止内存泄漏?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。