jQuery的cleanData函数的目的是什么?
What is the purpose of jQuery's cleanData function?
在研究jQuery源代码时,我偶然发现了cleanData
-函数几次:jQuery.remove() 调用它。其他功能也是如此。在删除 DOM 元素之前调用cleanData
的目的是什么?
jQuery的remove()
方法是否优于像这个小提琴这样的简单(removeChild)方法?如果是这样,为什么会这样?该代码是否会导致内存泄漏?
删除之前清除的数据是什么?jQuery之外还有什么用例吗?
对于从 jQuery 方法获取事件处理程序、数据或执行某些其他操作的元素,jQuery 将为该元素创建一个jQuery.cache
条目。
元素本身获取一个属性,该属性保存其在 jQuery.cache
中的条目的键。这是链接元素和数据的唯一内容。
所以当一个元素要被删除时,jQuery需要使用元素上的键来查找jQuery.cache
中的条目,然后需要销毁相关数据。如果它不这样做,就会有内存泄漏,因为一旦元素消失,就无法知道应该删除jQuery.cache
数据。
因此,如果要使用本机.removeChild()
删除和销毁元素,则将销毁指向该数据的唯一链接。这就是为什么你必须不幸地使用jQuery来删除所有元素,以及为什么你不应该在jQuery旁边使用任何其他DOM库。
相关文章:
- 基于窗口宽度jquery的函数的替代方法是什么
- 未捕获的类型错误:topFrame.window.changeSelectedBarStyle不是函数,原因是什么
- 函数(i,val)在javascript中是什么意思
- 如果 JS 中的函数是一流的,那么在定义它们之前允许调用它们是什么
- 定义js函数时冒号的含义是什么
- 直接在DOM事件处理程序中调用作用域函数的最短方法是什么
- JavaScript中警报函数的替代方法是什么
- JavaScript - 创建可链接函数时的最佳方法是什么
- 使用 WinForms GeckoFX 控件从 C# 调用 JavaScript 函数的推荐方法是什么?
- 返回多个变量的 JavaScript 函数:数组与对象.最佳实践是什么
- 角承诺的“then”函数的成功回调的词汇范围是什么?
- 将同步函数包装到承诺中的最佳方法是什么?
- 箭头函数 '() => {}' 在 Javascript 中是什么意思?
- 在对象中追加或编辑函数的最快方法是什么
- Angular:将对象存储在服务中以在视图中显示和将crud函数存储到服务器的最佳方式是什么
- 在JavaScript中调用array()作为构造函数时,返回的是什么类型的数组
- 究竟是什么(函数()).().
- 在HTML中使用JS的更好方法是什么?函数或选择器
- ES6的语法是什么?函数调用后的冒号
- JavaScript的“对象”是什么?函数