成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

利用JSON在JavaScript中實(shí)現(xiàn)枚舉

開發(fā) 前端
在JavaScript目前的版本中,沒有枚舉這個(gè)概念(當(dāng)然,ECMA-262第三版中已經(jīng)將enum作為關(guān)鍵字保留)。然而,如同JavaScript中沒有class一樣,但我們?nèi)匀豢梢酝ㄟ^間接的方式——JSON來實(shí)現(xiàn)它。

如下,我們來定義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

當(dāng)然,我們有更為直觀的方式。以定義DOM文檔節(jié)點(diǎn)類型為例,定義方式如下:

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節(jié)點(diǎn)類型常量用(其他主流瀏覽器均支持)。

與類C語言類似,以上2個(gè)例子的枚舉對(duì)應(yīng)屬性值均為整形。你可能想到,難道還能定義成別的類型?要回答這個(gè)問題,得先知道咱們這個(gè)枚舉實(shí)現(xiàn)的原理。前面說到,這里是用JSON來實(shí)現(xiàn)的,而JSON可以使用任何類型的值!所以,Js中的枚舉可以是任何類型的值。以下以String類型為例:

if(typeof Color == "undefined"){

var Color = {

Color1: 'red',

Color2: 'green',

Color3: 'white',

Color4: 'black'

}

}

測試如下:

alert(Color.Color1); // -----> Output: red

以更為復(fù)雜的類型來定義一個(gè)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'

}

}

}

測試結(jié)果如下圖:

【編輯推薦】

  1. JavaScript解析Json字符串 眾瀏覽器性能比較
  2. Javascript利用閉包循環(huán)綁定事件
  3. 基于JavaScript和CSS的Web圖表框架橫向?qū)Ρ?/A>
責(zé)任編輯:彭凡 來源: cnblogs
相關(guān)推薦

2014-12-11 10:09:59

Java 8

2010-01-06 11:05:35

JSON

2009-03-13 13:58:10

Javascript哈希表偽哈希表

2010-09-08 16:50:11

JavaScriptDOM操作

2021-01-12 10:22:45

JavaScript并發(fā)控制前端

2023-05-22 08:03:28

JavaScrip枚舉定義

2024-01-03 10:17:51

Linux通信

2009-05-12 10:36:38

OracleREDO恢復(fù)

2021-06-09 07:15:20

Go枚舉技巧

2022-07-12 07:33:47

ES類似連表查詢

2023-03-24 09:07:22

SignalsJavaScript應(yīng)用

2021-06-03 10:00:47

JavaScript 前端數(shù)克隆對(duì)象

2009-09-16 16:32:20

JavaScript靜

2019-07-05 18:06:18

ffsendFirefox SenLinux

2011-06-16 14:08:20

JSONAjax

2014-07-22 09:01:53

SwiftJSON

2011-02-25 15:49:09

NecessitasQtAndroid

2009-05-26 12:23:56

Linux變量文件命名

2014-04-16 11:03:36

MVC3JSON

2024-09-11 08:38:02

JavaScriptC#語言編程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 一区二区三区观看视频 | 亚洲一区二区三区免费视频 | 黄色一级电影在线观看 | 欧美一级特黄aaa大片在线观看 | 欧美精品1区2区 | 久久久无码精品亚洲日韩按摩 | 盗摄精品av一区二区三区 | 午夜影院在线视频 | 99re视频在线观看 | 亚洲人精品午夜 | 国产免费一区二区 | 夏同学福利网 | 国产91网站在线观看 | 一区二区视频在线 | 亚洲欧洲一区 | 国产精品久久久久久久久久 | 奇米四色在线观看 | 国产精品免费观看 | 亚洲国产精品福利 | 国产99热 | 国产一区二区三区高清 | 岛国一区 | 亚洲va欧美va天堂v国产综合 | 国产精品一区二区在线 | 一区二区免费视频 | 亚洲一区二区三区在线视频 | 狠狠做深爱婷婷综合一区 | 日本在线网站 | 91美女在线 | 欧美lesbianxxxxhd视频社区 | 国产91精品久久久久久久网曝门 | 欧美黄色一区 | 色婷婷综合久久久久中文一区二区 | 亚洲高清成人在线 | 午夜精品久久久久久久星辰影院 | 超碰欧美| 国产高清视频在线观看 | 欧美成人影院在线 | 欧美一级高清片 | 一级一片在线观看 | 欧美13videosex性极品 |