javascript - 为什么 DOMParser 需要被实例化?

标签 javascript

jQuery 从字符串创建 DOM 元素的首选 native 方法之一是使用新的 DOMParser 类。此示例摘自 MDN :

var parser = new DOMParser();
var doc = parser.parseFromString(aStr, "text/xml");

我想知道在解析字符串之前需要实例化解析器的额外步骤是否有任何特殊原因。 IE。为什么我们不能做类似 parseFromString(aStr, "text/xml"); 的事情?

解析器对象看起来是多余的。 DOMParser constructor doesn't even have any arguments and its instances doesn't have any method other than parseFromString .

最佳答案

如果我没记错的话,建立一个准备好解析文本的 DOM 解析器是一项昂贵的操作(内存方面),因此为了节省为您访问的每个页面/选项卡设置 DOM 解析器所造成的内存占用,浏览器将从它实例化的初始 DOM 解析器中清除内存(以解析文档的源代码),除非您再次实例化它,否则该内存将被清除。

如果需要,您可以使用您最喜欢的浏览器中的分析器工具来查看内存在实例化 DOM 解析器之前和之后的变化。

关于javascript - 为什么 DOMParser 需要被实例化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33064061/

相关文章:

javascript - jQuery - 每当 Div 中的内容增加/减少时调用一个函数

javascript - AngularJS 将类添加到 <td> 中,该类由 ngRepeat 从数据库动态生成

javascript - SQL:如果存在,则更新,否则插入

javascript - Google Maps API,添加带有标签的自定义 SVG 标记

javascript - Closure Compiler externs - 引用复杂函数

javascript - 在 Google apps 脚本中获取 json 数组中的键->值

javascript - 如何在单击按钮时以模式读取页面的当前 url?

javascript - 具有大量元素的组合框的良好 Javascript 组合框替代品?

javascript - 如果在foreach中

javascript - Jstree : Create node with custom div