作者:网吧b国漫救星 | 来源:互联网 | 2023-09-17 17:37
javascript模拟枚举的简单实例-如下,我们来定义Week的枚举:复制代码代码如下:if(typeofWeekDayundefined){varWeekDay{};WeekD
如下,我们来定义Week的枚举:
测试如下:
alert(WeekDay.Monday); // -----> Output: 1
当然,我们有更为直观的方式。以定义DOM文档节点类型为例,定义方式如下:
测试如下:
说明,以上Node定义可作为纠正IE不支持DOM节点类型常量用(其他主流浏览器均支持)。
与类C语言类似,以上2个例子的枚举对应属性值均为整形。你可能想到,难道还能定义成别的类型?要回答这个问题,得先知道咱们这个枚举实现的原理。前面说到,这里是用JSON来实现的,而JSON可以使用任何类型的值!所以,Js中的枚举可以是任何类型的值。以下以String类型为例:
测试如下:
alert(Color.Color1); // -----> Output: red
以更为复杂的类型来定义一个PersonList枚举如下:
测试结果如下图:
![](https://img1.php1.cn/3cdc5/32ca/bdf/62bf056c833eea30.png)