Javascript模拟枚举的一个简单示例

让我们定义一周的枚举如下:
复制代码代码如下所示:
如果(typeof周日= = undefined){

var;

周日,星期日= 0;

周日,星期一= 1;

周日,星期二= 2;

平日wedesay = 3;

周日,星期四= 4;

周日,星期五= 5;

周日,星期六= 6;

}

测试如下:
警报(工作日星期一);输出:1 < >

当然,我们有一个更直观的方式:
复制代码代码如下所示:
如果(typeof结= = undefined){

var节点{ {

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

}
}

测试如下:
复制代码代码如下所示:
警报(document.nodetype = =节点。document_node); / /输出:真正的----- >

这表明上面的节点定义可以作为常量来修正IE对DOM节点类型的不支持(其他主流浏览器也支持)。

类似于C语言,对2个实例的枚举所有塑料。你能想到它,它可以被定义为另一种类型的为了回答这个问题,我们必须首先了解枚举实现的原理,正如前面提到的,这是用JSON实现的,JSON可以使用任何类型的值!因此,js中的枚举可以是任何类型的值:
复制代码代码如下所示:
如果(typeof颜色= = undefined){

var颜色{ {

Color1:'red',

2:绿色的,

颜色:白色,

佳丽府服饰:'
}
}

测试如下:
警报(颜色Color1); / /输出:红----- >

定义一个personList枚举如下一个更复杂的类型:
复制代码代码如下所示:
如果(typeof personList = = undefined){

VaR personList = { {

{ zhangsan:

身份证:1,

名称:'zhangsan,

性别:男人的

},

{ LiSi:

身份证:2,

名称:'lisi,

性别:'woman

},

{ ZhaoWu:

身份证:3,

名称:'zhaowu,

性别:男人的

}
}
}

试验结果如下: