习惯了.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. poj2965 The Pilots Brothers' refrigerator(直接计算或枚举Enum+dfs)

    转载请注明出处:http://blog.csdn.net/u012860063? viewmode=contents 题目链接:http://poj.org/problem? id=2965 ---- ...

  2. iOS Autolayout情况下,ViewController嵌套时,childViewController的Frame异常问题

    近期项目中,使用Storyboard.AutoLayout开发,某个ViewController中嵌套了多个子ViewController,结果在将其加入到父ViewController时,出现坐标异 ...

  3. bzoj5157: [Tjoi2014]上升子序列(树状数组LIS)

    5157: [Tjoi2014]上升子序列 题目:传送门 题解: 学一下nlogn的树状数组求最长上生子序列就ok(%爆大佬) 离散化之后,用一个数组记录一下,直接树状数组做 吐槽:妈耶...一开始不 ...

  4. hpuoj--1122-- HH的随机数(数据去重)

    1122: HH的随机数 时间限制: 1 Sec  内存限制: 128 MB 提交: 476  解决: 75 [提交][状态][讨论版] 题目描述 HH想在学校中请一些同学一起做一项问卷调查,为了实验 ...

  5. [JZOJ 5895] [NOIP2018模拟10.5] 旅游 解题报告 (欧拉回路+最小生成树)

    题目链接: https://jzoj.net/senior/#main/show/5895 题目: 题解: 有一个好像比较显然的性质,就是每条边最多经过两次 那么我们考虑哪些边需要经过两次.我们把需要 ...

  6. Java8 方法引用与构造器引用,数组引用

    package java_8; import org.junit.Test; import java.io.PrintStream; import java.util.Comparator; impo ...

  7. 模拟邮箱输入邮箱地址、收藏标签。input框输入内容后回车,内容显示成小方块并带删除按钮。

    模拟邮箱输入邮箱地址.收藏标签: 文本框输入文字后按回车键或者分号键,输入框中的文字变成小块并带删除按钮和操作. 页面代码: <!DOCTYPE html> <%@ page lan ...

  8. Quartz介绍和使用

    Quartz介绍和使用 什么是Quartz,干什么的? Quartz框架是一个全功能.开源的任务调度服务,可以集成几乎任何的java应用程序—从小的单片机系统到大型的电子商务系统.Quartz可以执行 ...

  9. 好久不见我又回来了cnblogs

    最近一直没时间写博客.... 最近工作中遇到的问题,当时花费了一定功夫才解决. 当再次遇到,同样问题的时候,我知道自己能够解决的,但是却同样,要走原来的弯路解决他. 说到底还时确实总结啊.大概是没时间 ...

  10. 关于exsi的虚拟网络

    相关术语: VM Network 默认的网络 VSwitch   (默认)标准交换机 (exsi的内核中) Port groups  (用来定义各个不同vlan) DVSwitch分布式交换机(exs ...