【发布时间】:2014-09-15 08:09:57
【问题描述】:
我有一个对象保存我的一些程序常量,以便我可以在所有源代码文件中使用它。常量对象是这样的:
CONSTANTS = {
THING_TYPE: 'type',
THING_INFORMATION: 'information',
THING_DESCRIPTION: 'description',
THING_NAME: 'name',
manyOtherConstants
}
我想使用类似的符号创建对象,并使用常量的值作为对象的属性;这就是我想要做的:
var myObject = {
CONSTANTS.THING_TYPE: 'whateverType',
CONSTANTS.THING_INFORMATION: {
CONSTANTS.THING_DESCRIPTION: 'whateverDescription',
CONSTANTS.THING_NAME: 'whateverName',
}
}
问题是我不能以这种方式使用常量。 Javascript 说:
'SyntaxError: missing : after property id'
有什么方法可以使用该符号来做我想做的事情吗?还是我唯一能做的就是以下?
var myObject = {}
myObject[CONSTANTS.THING_TYPE] = 'whateverType';
myObject[CONSTANTS.THING_INFORMATION] = {};
myObject[CONSTANTS.THING_INFORMATION][CONSTANTS.THING_DESCRIPTION] = 'whateverDescription';
myObject[CONSTANTS.THING_INFORMATION][CONSTANTS.THING_NAME] = 'whateverName';
【问题讨论】:
-
所以,不使用
eval,我认为你可以按照你想要的方式(第一段)构建一个对象字符串,然后JSON.parse它。 -
@antuan122:哎呀,不用了。