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);
}

 

posted @ 2018-01-08 10:20  super超人  阅读(35954)  评论(0编辑  收藏  举报