从浏览器的文档对象中删除 DOM 个节点
Remove DOM Node from a browser's document object
我在 http://www.w3schools.com/js/js_htmldom_nodes.asp 中读到添加元素分两步进行:
* 在文档对象中创建
* 添加到父节点。
但是删除的时候,我只是从父节点删除,并没有在文档对象中删除。重复创建、添加、删除会不会有内存泄露之类的问题?
"create in document object" 短语具有误导性。
createElement
函数只是 document
对象的 属性,允许函数存在而不必是全局函数:
var el = document.createElement('div');
它类似于我们在其他 OOP 语言中所说的 "static factory method"。
新创建的元素实际上并不位于 DOM 内(因此位于 document
下面的节点树内),直到它被添加到父节点,例如
document.body.appendChild(el);
移除的元素一次又一次地被垃圾回收。所以你不需要担心内存泄漏
我在 http://www.w3schools.com/js/js_htmldom_nodes.asp 中读到添加元素分两步进行: * 在文档对象中创建 * 添加到父节点。
但是删除的时候,我只是从父节点删除,并没有在文档对象中删除。重复创建、添加、删除会不会有内存泄露之类的问题?
"create in document object" 短语具有误导性。
createElement
函数只是 document
对象的 属性,允许函数存在而不必是全局函数:
var el = document.createElement('div');
它类似于我们在其他 OOP 语言中所说的 "static factory method"。
新创建的元素实际上并不位于 DOM 内(因此位于 document
下面的节点树内),直到它被添加到父节点,例如
document.body.appendChild(el);
移除的元素一次又一次地被垃圾回收。所以你不需要担心内存泄漏