我想写一些继承自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上运行,其他浏览器也可以,不是必须的;我不在乎什么旧版本。
2条答案
按热度按时间hi3rlvi21#
似乎这是最接近我的要求的:
但仍然无法从Node接口继承。
wlzqhblo2#
不,
Node
是一个抽象接口,它没有constructor
操作,这意味着你既不能构造它,也不能从它继承,它只是抛出:未使用构造函数操作声明接口的接口对象在作为函数和构造函数调用时都将引发。
所以虽然你可以写
class Sub extends Node {}
,但你永远不能示例化它。同样,从Node.prototype
继承是可能的,但毫无意义,因为所有的内置方法都需要内部字段。