Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery'的目的是什么;清洁数据功能?_Javascript_Jquery_Dom_Memory Leaks_Removechild - Fatal编程技术网

Javascript 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中为该元素创建一个

在研究jQuery源代码时,我多次偶然发现了
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:是的,根本不需要使用它。它在需要时在内部使用。