javascript模拟枚举的简单实例

 本篇文章主要是对javascript模拟枚举的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

如下,我们来定义Week的枚举:
 
 代码如下:
if(typeof WeekDay == "undefined"){ 
 
var WeekDay = {};
 
WeekDay.Sunday = 0;
 
WeekDay.Monday = 1;
 
WeekDay.Tuesday = 2;
 
WeekDay.Wedesay = 3;
 
WeekDay.Thursday = 4;
 
WeekDay.Friday = 5;
 
WeekDay.Saturday = 6;
 
}
 
 
测试如下:
alert(WeekDay.Monday);  // -----> Output: 1 
 
当然,我们有更为直观的方式。以定义DOM文档节点类型为例,定义方式如下:
 代码如下:
if(typeof Node == "undefined"){ 
 
var Node = {
 
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
 
}
}
 
 
测试如下:
代码如下:
alert(document.nodeType == Node.DOCUMENT_NODE);  // -----> Output: true 
 
说明,以上Node定义可作为纠正IE不支持DOM节点类型常量用(其他主流浏览器均支持)。
 
与类C语言类似,以上2个例子的枚举对应属性值均为整形。你可能想到,难道还能定义成别的类型?要回答这个问题,得先知道咱们这个枚举实现的原理。前面说到,这里是用JSON来实现的,而JSON可以使用任何类型的值!所以,Js中的枚举可以是任何类型的值。以下以String类型为例:
 
 代码如下:
if(typeof Color == "undefined"){ 
 
var Color = { 
 
Color1: 'red', 
 
Color2: 'green', 
 
Color3: 'white', 
 
Color4: 'black' 

}
 
 
测试如下:
alert(Color.Color1); // -----> Output: red 
 
以更为复杂的类型来定义一个PersonList枚举如下:
 代码如下:
if(typeof PersonList == "undefined"){ 
 
var PersonList = {
 
ZhangSan: {
 
Id: 1,
 
Name: 'ZhangSan',
 
Gender: 'man'
 
},
 
LiSi: {
 
Id: 2,
 
Name: 'LiSi',
 
Gender: 'woman'
 
},
 
ZhaoWu: {
 
Id: 3,
 
Name: 'ZhaoWu',
 
Gender: 'man'
 
}
}
}
 

时间: 2024-12-31 00:07:21

javascript模拟枚举的简单实例的相关文章

JavaScript操作选择对象的简单实例_javascript技巧

JavaScript操作选择对象的简单实例 //替换选中文本内容,参数text为要替换的内容 function SetSelectionText(text) { //非IE浏览器 if (window.getSelection) { var sel = window.getSelection(); alert(sel.rangeCount); //选区个数, 通常为 1 . sel.deleteFromDocument(); //清除选择的内容 var r = sel.getRangeAt(0)

js模拟hashtable的简单实例介绍

 本篇文章主要是对js模拟hashtable的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助  代码如下: function Hashtable()//自定义hashtable {     this._hash = new Object();     this.add = function(key, value) {         if (typeof (key) != "undefined") {             if (this.contains(key

JavaScript进阶练习及简单实例分析_javascript技巧

当用户点击"统计"按钮时,在窗口中弹出文本框中出现次数最多的字符并显示其出现的次数 点击统计按钮时效果如图所示: 实现代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo

javascript实现继承的简单实例_javascript技巧

作为一门面向对象的语言,那么继承自然就是一大特征,下面是一段非常简单代码实例,它演示了实现继承的基本原理,有兴趣的或者恰好要学习此方面的朋友可以参阅一下,希望能够给大家来帮组. //继承 function Person(name,sex) { this.name=name; this.sex=sex; } Person.prototype.sayName=function() { alert(this.name); } Person.prototype.saySex=function() { a

javascript实现的闭包简单实例_javascript技巧

本文实例讲述了javascript实现的闭包.分享给大家供大家参考.具体如下: var name = "The Window"; var obj = { name: "My Object", getNameFunc: function() { return function() { return this.name; }; } }; console.log( obj.getNameFunc()() ); var name = "The Window&quo

JavaScript淡入淡出渐变简单实例_javascript技巧

本文实例讲述了JavaScript淡入淡出渐变的实现方法.分享给大家供大家参考.具体如下: 这里介绍JavaScript淡入淡出的文字渐变例子,用js来控制div标签元素实现渐变显示,渐变隐藏,只要在那个标签里的内容,都可以淡入淡出,代码简单,便于修改完善,前端设计者必备的网页特效. 运行效果如下图所示: 具体代码如下: <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="

javascript 数组随机排序简单实例

javascript数组随机排列的方法比较多,下面是比较简单的一种:  代码如下 复制代码 function randomSort(a,b){     return Math.random()>.5 ? -1:1; } 随机数大于0.5,返回-1,即a排在b前;随机数若小于0.5,则返回1,即b排在a前. 某公司的一道面试题:把1-1000数字随机打乱顺序,放在JS数组中,然后写一函数:指定任意一个1-1000的数,快速从数组中找出该数对应的下标索引号.  代码如下 复制代码 var aArr

javascript间隔刷新的简单实例_javascript技巧

复制代码 代码如下: <script language="JavaScript"> function myrefresh() { window.location.reload(); } setTimeout('myrefresh()',5000); //指定5秒刷新一次,5000处可自定义设置,1000为1秒 </script>

js模拟hashtable的简单实例_javascript技巧

复制代码 代码如下: function Hashtable()//自定义hashtable{    this._hash = new Object();    this.add = function(key, value) {        if (typeof (key) != "undefined") {            if (this.contains(key) == false) {                this._hash[key] = typeof (va