Wie folgt definieren wir die Week-Aufzählung:
Kopieren Sie den Codecode wie folgt:
if(typeof WeekDay == "undefiniert"){
var WeekDay = {};
WeekDay.Sunday = 0;
WeekDay.Monday = 1;
WeekDay.Tuesday = 2;
WeekDay.Wedesay = 3;
WeekDay.Thursday = 4;
WeekDay.Friday = 5;
WeekDay.Saturday = 6;
}
Der Test läuft wie folgt ab:
Alert(WeekDay.Monday); // -----> Ausgabe: 1
Natürlich haben wir einen intuitiveren Weg. Am Beispiel der Definition des DOM-Dokumentknotentyps lautet die Definition wie folgt:
Kopieren Sie den Codecode wie folgt:
if(typeof Node == "undefiniert"){
var Knoten = {
ELEMENT_NODE: 1,
ATTRIBUTE_NODE: 2,
TEXT_NODE: 3,
CDATA_SECTION_NODE: 4,
ENTITY_REFERENCE_NODE: 5,
ENTITY_NODE: 6,
PROCESSING_INSTRUCTION_NODE: 7,
COMMENT_NODE: 8,
DOCUMENT_NODE: 9,
DOCUMENT_TYPE_NODE: 10,
DOCUMENT_FRAGEMENT_NODE: 11,
NOTATION_NODE: 12
}
}
Der Test läuft wie folgt ab:
Kopieren Sie den Codecode wie folgt:
Alert(document.nodeType == Node.DOCUMENT_NODE); // -----> Ausgabe: true
Beachten Sie, dass die obige Knotendefinition verwendet werden kann, um das Versagen des IE bei der Unterstützung von DOM-Knotentypkonstanten zu korrigieren (alle anderen Mainstream-Browser unterstützen dies).
Ähnlich wie bei C-ähnlichen Sprachen sind die Attributwerte, die den Aufzählungen in den beiden obigen Beispielen entsprechen, alle ganze Zahlen. Sie denken vielleicht: Kann es als ein anderer Typ definiert werden? Um diese Frage zu beantworten, müssen wir zunächst das Prinzip unserer Aufzählungsimplementierung kennen. Wie bereits erwähnt, wird dies mithilfe von JSON implementiert, und JSON kann jede Art von Wert verwenden! Aufzählungen in JS können also jede Art von Wert sein. Im Folgenden wird der String-Typ als Beispiel verwendet:
Kopieren Sie den Codecode wie folgt:
if(typeof Color == "undefiniert"){
var Farbe = {
Farbe1: 'rot',
Farbe2: 'grün',
Farbe3: 'weiß',
Farbe4: 'schwarz'
}
}
Der Test läuft wie folgt ab:
warning(Color.Color1); // -----> Ausgabe: rot
Definieren Sie eine PersonList-Enumeration mit einem komplexeren Typ wie folgt:
Kopieren Sie den Codecode wie folgt:
if(typeof PersonList == "undefiniert"){
var PersonList = {
ZhangSan: {
ID: 1,
Name: 'ZhangSan',
Geschlecht: „Mann“
},
LiSi: {
ID: 2,
Name: 'LiSi',
Geschlecht: „Frau“
},
Zhao Wu: {
ID: 3,
Name: 'ZhaoWu',
Geschlecht: „Mann“
}
}
}
Die Testergebnisse lauten wie folgt: