Почему несколько типов узлов DOM отображаются на одно и то же числовое значение? - PullRequest
0 голосов
/ 09 мая 2019

Читая о типах объектов узла DOM из книги DOM Enlightenment (http://domenlightenment.com/#1.2),, я обнаружил странность, что несколько типов объектов отображаются на одно и то же числовое значение. Например, ELEMENT_NODE и DOCUMENT_POSITION_DISCONNECTED отображаются на 1, ATTRIBUTE_NODE и DOCUMENT_POSITION_PRECEDING отображаются на 2 и т. Д. Вы можете запустить

for(var key in Node){
    console.log(key,' = ' + Node[key]); 
};

для просмотра списка всех поддерживаемых типов объектов узлов и их числовых значений.

Может кто-нибудь помочь мне понять, почему несколько типов объектов узлов отображаются на одно и то же числовое значение?

1 Ответ

1 голос
/ 09 мая 2019

Предыдущие значения ELEMENT_NODE и ATTRIBUTE_NODE должны указывать тип узла ( mdn ).Последние, DOCUMENT_POSITION_DISCONNECTED и DOCUMENT_POSITION_PRECEDING должны указывать позицию через Node​.compare​Document​Position() ( mdn ).

По сути, их отображение на одно и то же значение допустимо, поскольку они представляют разныеперечисления / значения.

В качестве другого примера, если вы разрабатываете систему зоопарка, было бы хорошо иметь перечисление tiger: 1, monkey: 2, elephant: 3, penguin: 4 и другое (битовое) перечисление {status_hungry: 0, status_thirsty: 2, status_happy: 4}, которые перекрываются в значениях, потому что ни одиножидается, что поле будет представлять оба.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...