Ниже мы определяем перечисление Week:
Скопируйте код кода следующим образом:
if(typeof WeekDay == "не определено"){
вар WeekDay = {};
ДеньНедели.Воскресенье = 0;
ДеньНедели.Понедельник = 1;
День недели.Вторник = 2;
WeekDay.Wedesay = 3;
ДеньНедели.Четверг = 4;
ДеньНедели.Пятница = 5;
ДеньНедели.Суббота = 6;
}
Тест заключается в следующем:
alert(День недели.Понедельник); // -----> Вывод: 1;
Конечно, у нас есть более интуитивный способ. Если взять в качестве примера определение типа узла документа DOM, то определение будет следующим:
Скопируйте код кода следующим образом:
if(typeof Node == "не определено"){
вар Узел = {
ЭЛЕМЕНТ_НОДЕ: 1,
ATTRIBUTE_NODE: 2,
ТЕКСТ_НОД: 3,
CDATA_SECTION_NODE: 4,
ENTITY_REFERENCE_NODE: 5,
ENTITY_NODE: 6,
PROCESSING_INSTRUCTION_NODE: 7,
КОММЕНТАРИЙ_НОД: 8,
ДОКУМЕНТ_НОД: 9,
ДОКУМЕНТ_ТИП_УЗЕЛ: 10,
DOCUMENT_FRAGEMENT_NODE: 11,
НОТАЦИЯ_УЗЕЛ: 12
}
}
Тест заключается в следующем:
Скопируйте код кода следующим образом:
alert(document.nodeType == Node.DOCUMENT_NODE); // -----> Вывод: true
Обратите внимание, что приведенное выше определение узла можно использовать для исправления неспособности IE поддерживать константы типа узла DOM (все остальные основные браузеры поддерживают это).
Подобно C-подобным языкам, все значения атрибутов, соответствующие перечислениям в двух приведенных выше примерах, являются целыми числами. Вы можете подумать, можно ли его определить как другой тип? Чтобы ответить на этот вопрос, мы должны сначала знать принцип реализации нашего перечисления. Как упоминалось ранее, это реализовано с помощью JSON, а JSON может использовать значения любого типа! Итак, перечисления в JS могут быть значениями любого типа. Ниже приведен пример типа String:
Скопируйте код кода следующим образом:
if(typeof Color == "не определено"){
вар Цвет = {
Цвет1: «красный»,
Цвет2: «зеленый»,
Цвет3: «белый»,
Цвет4: «черный»
}
}
Тест заключается в следующем:
alert(Color.Color1); // -----> Вывод: красный
Определите перечисление PersonList более сложного типа следующим образом:
Скопируйте код кода следующим образом:
if(typeof PersonList == "не определено"){
вар PersonList = {
ЧжанСань: {
ID: 1,
Название: «ЧжанСань»,
Пол: «мужской»
},
ЛиСи: {
ID: 2,
Название: 'ЛиСи',
Пол: «женский»
},
Чжао Ву: {
ID: 3,
Имя: «Чжаоу»,
Пол: «мужской»
}
}
}
Результаты испытаний следующие: