为什么DOMParser需要实例化?

时间:2015-10-11 10:44:19

标签: javascript

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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