Sebagai berikut, kami mendefinisikan pencacahan Minggu:
Copy kode kodenya sebagai berikut:
if(typeof WeekDay == "tidak ditentukan"){
var Hari Kerja = {};
Hari Kerja.Minggu = 0;
Hari Kerja.Senin = 1;
Hari Kerja.Selasa = 2;
Hari Kerja.Rabu = 3;
Hari Kerja.Kamis = 4;
Hari Kerja.Jumat = 5;
Hari Kerja.Sabtu = 6;
}
Tesnya adalah sebagai berikut:
alert(Hari Kerja.Senin); // -----> Keluaran: 1
Tentu saja kami punya cara yang lebih intuitif. Mengambil definisi tipe node dokumen DOM sebagai contoh, definisinya adalah sebagai berikut:
Copy kode kodenya sebagai berikut:
if(typeof Node == "tidak terdefinisi"){
var Node = {
ELEMENT_NODE: 1,
ATRIBUT_NODE: 2,
TEXT_NODE: 3,
CDATA_SECTION_NODE: 4,
ENTITY_REFERENCE_NODE: 5,
ENTITY_NODE: 6,
PROCESSING_INSTRUCTION_NODE: 7,
KOMENTAR_NODE: 8,
DOCUMENT_NODE: 9,
DOCUMENT_TYPE_NODE: 10,
DOCUMENT_FRAGEMENT_NODE: 11,
NOTATION_NODE: 12
}
}
Tesnya adalah sebagai berikut:
Copy kode kodenya sebagai berikut:
peringatan(document.nodeType == Node.DOCUMENT_NODE); // -----> Keluaran: benar
Perhatikan bahwa definisi Node di atas dapat digunakan untuk memperbaiki kegagalan IE dalam mendukung konstanta tipe node DOM (semua browser utama lainnya mendukungnya).
Mirip dengan bahasa mirip C, nilai atribut yang sesuai dengan enumerasi pada dua contoh di atas semuanya bilangan bulat. Anda mungkin berpikir, bisakah ini didefinisikan sebagai tipe lain? Untuk menjawab pertanyaan tersebut, kita harus mengetahui terlebih dahulu prinsip pelaksanaan pencacahan kita. Seperti disebutkan sebelumnya, ini diimplementasikan menggunakan JSON, dan JSON dapat menggunakan jenis nilai apa pun! Jadi, enumerasi di JS bisa berupa nilai apa pun. Berikut ini mengambil tipe String sebagai contoh:
Copy kode kodenya sebagai berikut:
if(typeof Color == "tidak terdefinisi"){
var Warna = {
Warna1: 'merah',
Warna2: 'hijau',
Warna3: 'putih',
Warna4: 'hitam'
}
}
Tesnya adalah sebagai berikut:
alert(Warna.Warna1); // -----> Keluaran: merah
Definisikan enumerasi PersonList dengan tipe yang lebih kompleks sebagai berikut:
Copy kode kodenya sebagai berikut:
if(typeof PersonList == "tidak terdefinisi"){
var Daftar Orang = {
ZhangSan: {
tanda pengenal: 1,
Nama: 'ZhangSan',
Jenis Kelamin: 'laki-laki'
},
LiSi: {
tanda pengenal: 2,
Nama: 'LiSi',
Jenis Kelamin: 'wanita'
},
Zhao Wu: {
tanda pengenal: 3,
Nama: 'ZhaoWu',
Jenis Kelamin: 'laki-laki'
}
}
}
Hasil tesnya adalah sebagai berikut: