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,
性别:男人的
}
}
}
试验结果如下: