De la siguiente manera, definimos la enumeración Semana:
Copie el código de código de la siguiente manera:
if(tipo de día de la semana == "indefinido"){
var DíaSemana = {};
DíaSemana.Domingo = 0;
DíaSemana.Lunes = 1;
DíaSemana.Martes = 2;
DíaSemana.Wedesay = 3;
DíaSemana.Jueves = 4;
DíaSemana.Viernes = 5;
DíaSemana.Sábado = 6;
}
La prueba es la siguiente:
alerta(DíaSemana.Lunes); // -----> Salida: 1
Por supuesto, tenemos una forma más intuitiva. Tomando como ejemplo la definición del tipo de nodo del documento DOM, la definición es la siguiente:
Copie el código de código de la siguiente manera:
if(tipo de nodo == "indefinido"){
var Nodo = {
ELEMENTO_NODO: 1,
ATRIBUTO_NODO: 2,
NODO_TEXTO: 3,
CDATA_SECTION_NODE: 4,
ENTITY_REFERENCE_NODE: 5,
ENTIDAD_NODO: 6,
PROCESSING_INSTRUCTION_NODE: 7,
COMMENT_NODE: 8,
DOCUMENTO_NODO: 9,
DOCUMENT_TYPE_NODE: 10,
DOCUMENT_FRAGEMENT_NODE: 11,
NOTACIÓN_NODO: 12
}
}
La prueba es la siguiente:
Copie el código de código de la siguiente manera:
alert(document.nodeType == Node.DOCUMENT_NODE); // -----> Salida: verdadero
Tenga en cuenta que la definición de nodo anterior se puede utilizar para corregir la falla de IE al admitir constantes de tipo de nodo DOM (todos los demás navegadores convencionales lo admiten).
Al igual que en los lenguajes tipo C, los valores de atributo correspondientes a las enumeraciones en los dos ejemplos anteriores son todos números enteros. Quizás estés pensando, ¿se puede definir como otro tipo? Para responder a esta pregunta, primero debemos conocer el principio de nuestra implementación de enumeración. Como se mencionó anteriormente, esto se implementa usando JSON, ¡y JSON puede usar cualquier tipo de valor! Entonces, las enumeraciones en JS pueden tener cualquier tipo de valor. A continuación se toma el tipo String como ejemplo:
Copie el código de código de la siguiente manera:
if(tipo de color == "indefinido"){
varColor = {
Color1: 'rojo',
Color2: 'verde',
Color3: 'blanco',
Color4: 'negro'
}
}
La prueba es la siguiente:
alerta(Color.Color1); // -----> Salida: rojo
Defina una enumeración PersonList con un tipo más complejo de la siguiente manera:
Copie el código de código de la siguiente manera:
if(tipo de ListaPersona == "indefinido"){
var ListaPersona = {
ZhangSan: {
identificación: 1,
Nombre: 'ZhangSan',
Género: 'hombre'
},
LiSi: {
identificación: 2,
Nombre: 'LiSi',
Género: 'mujer'
},
Zhao Wu: {
identificación: 3,
Nombre: 'ZhaoWu',
Género: 'hombre'
}
}
}
Los resultados de la prueba son los siguientes: