谈谈JS中“枚举”的使用
2008-04-21 11:00
176 查看
习惯了.net编程,c#的枚举很好用,无论管理上,可读上,易用上都非常强大。
JS作为弱类型解析语言,并没有严格的数据类型限定。
“枚举”在JS中并不存在的。
通过定义上,枚举是一种类常量的存在,只不过vs.net可以自动导航到枚举的数据类型存在,并且自动给与用户提供选择。
vs.net2008增加了js的导航,那么用json模拟枚举功能就有存在的必要了。
只是,JS的导航还无法做到判断“枚举”类型,所以无法默认就提供“枚举”选项,不过从功能上可读性上管理上还是远远超过诸如1,2,3,4的表示等等了。
以下为例子(共享方式: 0->不共享,1->我和好友,2->所有人):
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
//写法1:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
var ShareType = ...{OnlyMe : 0
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
,IAndFriend : 1
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
,All : 2
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
};
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
//写法2:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
var ShareType = ...{};
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
ShareType.OnlyMe = 0;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
ShareType.IAndFriend = 1;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
ShareType.All = 2;
JS作为弱类型解析语言,并没有严格的数据类型限定。
“枚举”在JS中并不存在的。
通过定义上,枚举是一种类常量的存在,只不过vs.net可以自动导航到枚举的数据类型存在,并且自动给与用户提供选择。
vs.net2008增加了js的导航,那么用json模拟枚举功能就有存在的必要了。
只是,JS的导航还无法做到判断“枚举”类型,所以无法默认就提供“枚举”选项,不过从功能上可读性上管理上还是远远超过诸如1,2,3,4的表示等等了。
以下为例子(共享方式: 0->不共享,1->我和好友,2->所有人):
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
//写法1:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
var ShareType = ...{OnlyMe : 0
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
,IAndFriend : 1
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
,All : 2
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
};
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
//写法2:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
var ShareType = ...{};
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
ShareType.OnlyMe = 0;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
ShareType.IAndFriend = 1;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
ShareType.All = 2;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
相关文章推荐
- 谈谈scriptaculous动画效果库effect.js(原理和使用)
- JS 中枚举的使用方法
- 枚举的单例模式的使用方法
- 使用 ext.js 3.0 和 .net 做的一个简单HR 系统,供大家参考
- 使用jquery.qrcode.js在浏览器上生成QRCODE
- C#微信网页开发---JSSDK使用 通过config接口注入权限验证配置
- 使用grunt完成requirejs的合并压缩和js文件的版本控制
- JS中使用JSTL标签
- 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题
- js 使用方法名作参数
- 使用r.js优化静态资源
- jquery.cookie.js 使用方法
- node.js web开发:EXPRESS 4.x 以上使用session和cookie 的记录 - lgphp
- js中apply使用方法小议
- node.js中Socket.IO的进阶使用技巧
- 使用Sticker.js实现贴纸效果
- 微软专家与您一起谈谈测试人员职业规划&&技术专家与您一起交流LoadRunner使用经验。
- js使用Array.prototype.sort()对数组对象排序的方法
- 使用Vue.js开发微信小程序开源框架mpvue解析
- ie6、ie7、ie8下支持js 使用vml style.addRule('v\\:line,v\\:stroken',"behavior:url(#default#VML);")