有没有办法从javascript节点接口继承?

00jrzges  于 2023-01-29  发布在  Java
关注(0)|答案(2)|浏览(127)

我想写一些继承自DOM节点接口的javascript类...听起来很像how-to-inherit-from-the-dom-element-class,但是我不想在我的[X]中使用它的示例|兴和科技|HT]ML文档。我的目标是建立一个绝对独立的DOM树,所以我想使用现代浏览器提供的Node interface,而不是创建我自己的DOM实现。节点不应该有任何HTML属性,如类名,样式或(客户端)偏移量-只是一个普通的 Node。类不需要是可扩展的,节点方法就足够了。
如果有可能创建一个DocumentFragment或一个
a)不是(X)HTML文档而是XML文档,以及
B)与当前文档无关(如document.implementation
这个脚本应该可以在最新版本的Opera和Firefox上运行,其他浏览器也可以,不是必须的;我不在乎什么旧版本。

hi3rlvi2

hi3rlvi21#

似乎这是最接近我的要求的:

new DOMParser().parseFromString("<root />", "text/xml");

但仍然无法从Node接口继承。

wlzqhblo

wlzqhblo2#

不,Node是一个抽象接口,它没有constructor操作,这意味着你既不能构造它,也不能从它继承,它只是抛出:
未使用构造函数操作声明接口的接口对象在作为函数和构造函数调用时都将引发。
所以虽然你可以写class Sub extends Node {},但你永远不能示例化它。同样,从Node.prototype继承是可能的,但毫无意义,因为所有的内置方法都需要内部字段。

相关问题