JavaScript常量和对象文字

时间:2012-06-14 08:39:29

标签: javascript json

我知道我可以在JavaScript中执行此操作:

RequestDate: {
    '0' : 'previous_activity_date',
    '1': 'next_activity_date'
  }

我可以这样做:

this.RequestDate = {};
this.RequestDate[App.FORWARD] = 'next_activity_date';
this.RequestDate[App.BACK] = 'previous_activity_date';

有没有办法做以下工作:

RequestDate: {
    App.Back : 'previous_activity_date',
    App.Forward: 'next_activity_date'
  },

以上明显的错误,是否有办法让它发挥作用?

3 个答案:

答案 0 :(得分:3)

你可以这样做。

RequestDate: {
    [App.Back]: 'previous_activity_date',
    [App.Forward]: 'next_activity_date'
  }

答案 1 :(得分:2)

简答:不。您只能在对象文字中使用文字键。如果你想使用常量,你自己的解决方案是最好的。

http://bclary.com/2004/11/07/

  

11.1.5对象初始化

     

对象初始化器是一个描述对象初始化的表达式,以类似于文字的形式编写。它是零个或多个属性名称和关联值对的列表,用大括号括起来。价值观不一定是文字;每次评估对象初始化程序时都会对它们进行评估。

答案 2 :(得分:1)

正如您所注意到的,您可以写下:

RequestDate = {};
RequestDate[App.Back] = 'previous_activity_date';
RequestDate[App.Forward] = 'next_activity_date';

但是javascript语法不允许在JSON表示法之前使用表达式。