2019-11-24-JS中cloneNode()与cloneNode(true)之间区别

JavaScript09

2019-11-24-JS中cloneNode()与cloneNode(true)之间区别,第1张

cloneNode()或者叫cloneNode(false)克隆的节点复制真节点的样式,标签,属性。至于标签里的元素,事件没有复制,所以我们可以称它浅克隆。

cloneNode(true)完全把真节点的东西给复制了过来,我们称它为深克隆。也会克隆他的子节点

克隆是指克隆对象,在堆空间复制一块内存,是完全的两个对象,不是指针指向!浅克隆是指克隆一个对象,而该对象的属性只是基本数据类型,只克隆出该对象!深度克隆是指克隆的目标里面还有引用类型,引用类型里还有引用类型,同时把引用类型克隆出来叫深度克隆!常用的方法有两种,第一,需克隆的对象实现cloneable接口;第二,使用commons包提供的克隆方法。这两种方法都能实现深度克隆!