js中 '枚举' 的使用
习惯了.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); }