首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么多个DOM节点类型映射到相同的数值?

为什么多个DOM节点类型映射到相同的数值?
EN

Stack Overflow用户
提问于 2019-05-09 23:07:15
回答 1查看 34关注 0票数 0

在阅读DOM Enlightenment (http://domenlightenment.com/#1.2)一书中有关DOM节点对象类型的内容时,我发现多个对象类型映射到同一个数值是一件很奇怪的事情。例如,ELEMENT_NODEDOCUMENT_POSITION_DISCONNECTED映射到1ATTRIBUTE_NODEDOCUMENT_POSITION_PRECEDING映射到2,依此类推。你可以运行

代码语言:javascript
复制
for(var key in Node){
    console.log(key,' = ' + Node[key]); 
};

以查看所有支持的节点对象类型及其数值的列表。

有人能帮我解释一下为什么多个节点对象类型映射到同一个数值吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-09 23:17:00

前两个值ELEMENT_NODEATTRIBUTE_NODE表示节点类型(mdn)。后者,DOCUMENT_POSITION_DISCONNECTEDDOCUMENT_POSITION_PRECEDING通过Node​.compare​Document​Position() (mdn)表示位置。

本质上,让它们映射到相同的值是可以接受的,因为它们代表不同的枚举/含义。

再举一个例子,如果您正在设计一个zoo系统,那么可以使用一个枚举tiger: 1, monkey: 2, elephant: 3, penguin: 4和另一个值重叠的(位)枚举{status_hungry: 0, status_thirsty: 2, status_happy: 4},因为没有任何一个字段可以同时表示这两个字段。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56062446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档