JavaScript中常量该如何封装?

thewallhz 2014-05-25 03:53:41
如某个函数使用func(type) 这个type值有0 1 2 3 4 5几种,如果用数字,代码可读性会比较差
可否像Java中那样搞一个Constants类,里面有多个字段,如Constants.Type0=0
Constants.Type1=1 ....

这种设计在JS中该如何实现呢?
...全文
733 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
thewallhz 2014-10-31
  • 打赏
  • 举报
回复
引用 14 楼 liang118038 的回复:
弱弱问句,这样封装有意义么,定义后控制不了后面的修改,如果JS支持宏就不用那么麻烦了。
把常量都集中到一块儿,便于管理吧,你觉得呢? 感觉常量分散,修改起来很麻烦的
thewallhz 2014-06-12
  • 打赏
  • 举报
回复
引用 14 楼 liang118038 的回复:
弱弱问句,这样封装有意义么,定义后控制不了后面的修改,如果JS支持宏就不用那么麻烦了。
定义后控制不了后面的修改,啥意思?
liang118038 2014-06-11
  • 打赏
  • 举报
回复
弱弱问句,这样封装有意义么,定义后控制不了后面的修改,如果JS支持宏就不用那么麻烦了。
thewallhz 2014-06-09
  • 打赏
  • 举报
回复
引用 12 楼 flybee2010 的回复:
用對象封裝較好。
能给出代码例子么?
thewallhz 2014-05-31
  • 打赏
  • 举报
回复
引用 9 楼 jslang 的回复:
[quote=引用 8 楼 thewallhz 的回复:] [quote=引用 1 楼 jslang 的回复:]

var MyConstants = {
	Type0:0, 
	Type1:1, 
	Type2:2
}
你使用什么编辑器来写JS呢? 感觉st对上面这种结构不能自动补全:([/quote] 我一般用EditPlus 不过这个是没有自动补全功能的[/quote]没有自动补全,有时候编程会很麻烦
flybee2010 2014-05-31
  • 打赏
  • 举报
回复
用對象封裝較好。
张含韵 2014-05-30
  • 打赏
  • 举报
回复
用一个对象来保存多个常量值,类似于高级语言的枚举类
天际的海浪 2014-05-29
  • 打赏
  • 举报
回复
引用 8 楼 thewallhz 的回复:
[quote=引用 1 楼 jslang 的回复:]

var MyConstants = {
	Type0:0, 
	Type1:1, 
	Type2:2
}
你使用什么编辑器来写JS呢? 感觉st对上面这种结构不能自动补全:([/quote] 我一般用EditPlus 不过这个是没有自动补全功能的
thewallhz 2014-05-29
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:

var MyConstants = {
	Type0:0, 
	Type1:1, 
	Type2:2
}
你使用什么编辑器来写JS呢? 感觉st对上面这种结构不能自动补全:(
猿敲月下码 2014-05-27
  • 打赏
  • 举报
回复
引用 3 楼 thewallhz 的回复:
[quote=引用 2 楼 hch126163 的回复:] var type={Type0:0,Type1:1,Type2:2}; alert(type.Type0);
赶脚type是个字典,取变量是否应该使用type['Type0'],但是用type.Type0好像也可以取值额,这两种方式有何不同? 用哪种比较好?[/quote] 这是json格式获取值的方式,两种没啥区别 如果key是动态变化的时候可以用方括号的方式 var i = 0; type['Type'+i] 如果固定不变就type.name
  • 打赏
  • 举报
回复
引用 3 楼 thewallhz 的回复:
[quote=引用 2 楼 hch126163 的回复:] var type={Type0:0,Type1:1,Type2:2}; alert(type.Type0);
赶脚type是个字典,取变量是否应该使用type['Type0'],但是用type.Type0好像也可以取值额,这两种方式有何不同? 用哪种比较好?[/quote] 这就是对象取值的两种方式,用哪一种都是一样的,但是,如果你要把属性作为参数传递,根据参数得到对象的属性值,那么你会考虑中括号的方式
码无边 2014-05-26
  • 打赏
  • 举报
回复
json有两种数据结构,对象和数组 对象和数组的结构是不一样, 对象: 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。 名称用引号括起来 数组:数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。 取值 var obj = eval('(' + str + ')'); 或者 var obj = str.parseJSON(); //由JSON字符串转换为JSON对象 或者 var obj = JSON.parse(str); //由JSON字符串转换为JSON对象 然后,就可以这样读取: Alert(obj.name); Alert(obj.sex);
thewallhz 2014-05-26
  • 打赏
  • 举报
回复
引用 2 楼 hch126163 的回复:
var type={Type0:0,Type1:1,Type2:2}; alert(type.Type0);
赶脚type是个字典,取变量是否应该使用type['Type0'],但是用type.Type0好像也可以取值额,这两种方式有何不同? 用哪种比较好?
thewallhz 2014-05-26
  • 打赏
  • 举报
回复
为何不使用.xx取值呢?
hch126163 2014-05-25
  • 打赏
  • 举报
回复
var type={Type0:0,Type1:1,Type2:2}; alert(type.Type0);
天际的海浪 2014-05-25
  • 打赏
  • 举报
回复

var MyConstants = {
	Type0:0, 
	Type1:1, 
	Type2:2
}

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧