习惯了.net编程,c#的枚举很好用,无论管理上,可读上,易用上都非常强大。 

    JS作为弱类型解析语言,并没有严格的数据类型限定。 

    “枚举”在JS中并不存在的。 

    通过定义上,枚举是一种类常量的存在,只不过vs.net可以自动导航到枚举的数据类型存在,并且自动给与用户提供选择。 

    vs.net2008增加了js的导航,那么用json模拟枚举功能就有存在的必要了。 

    只是,JS的导航还无法做到判断“枚举”类型,所以无法默认就提供“枚举”选项,不过从功能上可读性上管理上还是远远超过诸如1,2,3,4的表示等等了。 

    以下为例子(共享方式: 0->不共享,1->我和好友,2->所有人): 

  //写法1:
var ShareType = ...{OnlyMe : 0
,IAndFriend : 1
,All : 2
}; //写法2:
var ShareType = ...{};
ShareType.OnlyMe = 0;
ShareType.IAndFriend = 1;
ShareType.All = 2;

====================================

一般写在公共的js方法中:

//附件分类
var fileCatalog = {
//预约单
reservation : 0,
//健康告知书
health : 1,
//用车预定
car : 2,
//照会资料
diplomatic : 3,
//理赔资料
claim : 4,
//银行开户
bank : 5,
//其他
others : 6
}

所有页面引用公共js,每个页面的js都可共用公共js

if (type == fileCatalog.reservation) {
reservationFiles.push(fileData);
} else if (type == fileCatalog.car) {
carFiles.push(fileData);
} else if (type == fileCatalog.others) {
otherFiles.push(fileData);
} else if (type == fileCatalog.health) {
healthFiles.push(fileData);
} else if (type == fileCatalog.bank) {
bankFiles.push(fileData);
}

js中 '枚举' 的使用的更多相关文章

  1. js中的枚举

    在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的.可枚举性决定了这个属性能否被for…in查找遍历到. js中基本包装类型的原型属性是不可枚举的 ...

  2. JS中的可枚举属性与不可枚举属性以及扩展

    在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的.可枚举性决定了这个属性能否被for…in查找遍历到. 一.怎么判断属性是否可枚举 js中基本包 ...

  3. js中以键值对的形式当枚举

    js中以键值对的形式当枚举var Penum= { B: "姓名", C: "所属居委", D: "证件号", E: "性别&qu ...

  4. js中的可枚举属性与不可枚举属性

    在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的.可枚举性决定了这个属性能否被for…in查找遍历到. 一.怎么判断属性是否可枚举 js中基本包 ...

  5. 浅解析js中的对象

    浅解析js中的对象 原文网址:http://www.cnblogs.com/foodoir/p/5971686.html,转载请注明出处. 前面的话: 说到对象,我首先想到的是每到过年过节见长辈的时候 ...

  6. js中arguments的用法

    了解这个对象之前先来认识一下javascript的一些功能: 其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载.Javascrip中国每个函数都会有一个Argume ...

  7. js中的hasOwnProperty()和isPrototypeOf()

    js中的hasOwnProperty()和isPrototypeOf() 这两个属性都是Object.prototype所提供:Object.prototype.hasOwnProperty()和Ob ...

  8. js中undefined,null,NaN的区别

    1.类型分析: js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型.var a1;var a2 = true;va ...

  9. [置顶] js中如何复制一个对象,如何获取所有属性和属性对应的值

    在js中如何复制一个对象,例如如下一个js对象. 如果知道这个对象的所有属性自然就可以重新new一个,然后对每个属性赋值,就可以做到,但如果不知道呢?如何创建一个内容相同 的对象呢? var obj= ...

随机推荐

  1. Detours改动段属性漏洞

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  2. 数据库中的java.sql.Timestamp转换成Date

    查询数据库中的时间类型为 java.sql.Timestamp 保存在json中需要格式化 自定义工具类  DateJsonValueProcessor package com.rom.util; i ...

  3. windowsclient崩溃分析和调试

    本文介绍windows上崩溃分析的一些手段,顺便提多进程调试.死锁等. 1.崩溃分析过程 1.1 确认错误码 不管是用windbg还是用vs.首先应该注意的是错误码,而90%以上的崩溃都是非法訪问. ...

  4. 【Java】【Flume】Flume-NG启动过程源代码分析(一)

    从bin/flume 这个shell脚本能够看到Flume的起始于org.apache.flume.node.Application类,这是flume的main函数所在. main方法首先会先解析sh ...

  5. android 退出系统

    /** * */ package com.szkingdom.android.phone.utils; import java.io.BufferedReader; import java.io.IO ...

  6. bzoj1570: [JSOI2008]Blue Mary的旅行(二分+网络流)

    1570: [JSOI2008]Blue Mary的旅行 题目:传送门 题解: get到拆点新姿势,还是做题太少了...ORZ 因为每天就只能有一个航班,那就不能直接连了,所以要拆点(然后就被卡住了) ...

  7. Git 时间,将代码托管到GitHub 上

    第一步:在github上创建一个项目,选择所属类型.会自动生成下面的文件. 第二步:使用安卓创建项目 第三步:使用git bash 进入项目目录,通过指令clone到本地 克隆完成后会出现下面的内容 ...

  8. [JZOJ 5875] [NOIP2018提高组模拟9.20] 听我说,海蜗牛 解题报告(BFS+二分)

    题目链接: http://172.16.0.132/senior/#main/show/5875 题目: 题解: 注意这题只能经过开放的港口 我们考虑用vector存下每个点不能到的点,并把并让vec ...

  9. IDEA模板设置

    /**   * @className: $CLASSNAME$   * @author: liuyachao   * @date: $DATE$ $TIME$ */ ================= ...

  10. 固定执行计划-使用coe_xfr_sql_profile

    一.历史执行计划固定 历史的执行计划找到一个合理的执行计划进行绑定 1. 存在多个执行计划的语句,按照索引是比较合适的,FULL SCAN不合适 select * from scott.emp whe ...