Javascript jQuery'的目的是什么;清洁数据功能?
在研究jQuery源代码时,我多次偶然发现了Javascript jQuery'的目的是什么;清洁数据功能?,javascript,jquery,dom,memory-leaks,removechild,Javascript,Jquery,Dom,Memory Leaks,Removechild,在研究jQuery源代码时,我多次偶然发现了cleanData-函数: remove()调用它。其他功能也是如此。在删除DOM元素之前调用cleanData的目的是什么 jQuery的remove()-方法是否优于这样的简单(removeChild)方法? 如果是,为什么是这样?那个代码会导致内存泄漏吗 什么是数据,在删除之前会被清除? jQuery之外是否有任何用例?对于从jQuery方法获取事件处理程序、数据或执行某些其他操作的元素,jQuery将在jQuery.cache中为该元素创建一个
cleanData
-函数:
remove()调用它。其他功能也是如此。在删除DOM元素之前调用cleanData
的目的是什么
jQuery的remove()
-方法是否优于这样的简单(removeChild)方法?
如果是,为什么是这样?那个代码会导致内存泄漏吗
什么是数据,在删除之前会被清除?
jQuery之外是否有任何用例?对于从jQuery方法获取事件处理程序、数据或执行某些其他操作的元素,jQuery将在
jQuery.cache
中为该元素创建一个条目
元素本身获得一个属性,该属性保存jQuery.cache
中其条目的键。这是链接元素和数据的唯一东西
因此,当要删除元素时,jQuery需要使用在元素上找到的键在jQuery.cache
中查找条目,然后需要销毁相关数据。如果不这样做,就会出现内存泄漏,因为一旦元素消失,就无法知道应该删除jQuery.cache
数据
因此,如果您要使用本机
.removeChild()
删除并销毁元素,那么您将销毁指向该数据的唯一链接。这就是为什么您必须不幸地使用jQuery来删除所有元素,以及为什么您不应该在jQuery旁边使用任何其他DOM库。感谢您将此问题标记为重复问题,特别是当引用的答案缺少技术细节时,这里会问到。因此,如果我理解正确的话,在jQuery之外不需要它。是的。一般来说,没有文档记录的函数是有原因的。@Lilith2k3:是的,根本不需要使用它。它在需要时在内部使用。