在javascript中使用另一个dict创建dict时出现意外的令牌

时间:2015-02-19 09:58:22

标签: javascript dictionary

我正在尝试自己学习javascript以及我遇到的一个简单程序:

var _c = {RESPONSE:'reponse'};

现在,当我尝试使用此dict创建另一个dict(作为值)时,它可以正常工作

var d = {'bla': _c.RESPONSE};

但是当我尝试将dict值用作另一个dict中的键时,它会抛出意外的令牌错误

var d = {_c.RESPONSE :'bla'}
SyntaxError: Unexpected token .

我不确定上面的代码有什么问题。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

错误很简单。它告诉你,语法错误。

根据Javascript语法,对象声明如下所示:(source,稍作修改。请查看下面的注释。)

ObjectLiteral ⇒  { }  |  { FieldList }
FieldList     ⇒  LiteralField  |  FieldList , LiteralField
LiteralField  ⇒  ObjectKey : AssignmentExpression
ObjectKey     ⇒  Identifier | NumericLiteral | StringLiteral

..其中Identifierdefined here。标识符中不能包含点。所以,显然,你违反了语言的语法/语法。


据我了解,您希望根据某个变量的值设置密钥。在这种情况下,您使用方括号表示法。

var d = {}
d[_c.RESPONSE] = 'bla';