习惯了.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. CSS3可伸缩框属性,可用于等分显示子元素或按比例显示子元素的大小

    使用方法跟Android的android:layout_weight属性类似.可类比Android中的使用方法.这样比較好记,因为眼下全部浏览器都不支持大部分的属性,所以全部的属性都须要加上Firef ...

  2. SpringMVC+Spring+Hibernate框架整合原理,作用及使用方法

    转自:https://blog.csdn.net/bieleyang/article/details/77862042 SSM框架是spring MVC ,spring和mybatis框架的整合,是标 ...

  3. python 3.x 学习笔记12 (反射 and 异常)

    1.反射通过字符串映射或修改程序运行时的状态.属性.方法 getattr(obj,name_str):  根据字符串name_str去获取obj对象里的对应的方法的内存地址 hasttr(obj,na ...

  4. 关于zabbix 的lld的web界面的配置

    lld脚本在配置文件中例子: UserParameter=lldisk,/bin/bash /script/lldisk.sh disk_count 1.监控项 2.监控项原型

  5. 前端学习之路——scss篇

    一.什么是SASS SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护. 二.安装和使用 Sass依赖于ruby环境,所以装sass之前先 ...

  6. RocketMQ学习笔记(5)----RocketMQ监控平台rocketmq-console-ng的搭建

    1. 下载rocketmq-console-ng 官网地址:https://github.com/apache/rocketmq-externals 拉下来之后,使用idea打开rocketmq-co ...

  7. SpringCloud学习笔记(6)----Spring Cloud Netflix之负载均衡-Ribbon的使用

    1. 什么是负责均衡? 负载均衡,就是分发请求流量到不同的服务器. 负载均衡一般分为两种 1. 服务器端负载均衡(nginx) 2. 客户端负载均衡(Ribbon) 2. 服务提供者(spring-c ...

  8. No mapping found for HTTP request with URI [/spring_liu/hello.do] in DispatcherServlet with name 'SpringMVC'

    控制台一直报No mapping found for HTTP request with URI [/spring_liu/hello.do] in DispatcherServlet with na ...

  9. LAMP 建立 Wordpress 站点 Linux Apache MariaDB PHP

    使用LAMP建立Wordpress, 要求如下: 准备工作: VMware 14 CentOS 7.4 最小化 安装镜像 Wordpress 安装包,  下载 预热: 使用VMware新建4台虚拟机, ...

  10. docker私有仓库yum安装 docker-registry

    [root@riyimei-node1:/root]> yum install docker-registryLoaded plugins: fastestmirror, langpacksLo ...