我正在尝试自己学习javascript以及我遇到的一个简单程序:
var _c = {RESPONSE:'reponse'};
现在,当我尝试使用此dict创建另一个dict(作为值)时,它可以正常工作
var d = {'bla': _c.RESPONSE};
但是当我尝试将dict值用作另一个dict中的键时,它会抛出意外的令牌错误
var d = {_c.RESPONSE :'bla'}
SyntaxError: Unexpected token .
我不确定上面的代码有什么问题。有人可以帮忙吗?
答案 0 :(得分:4)
错误很简单。它告诉你,语法错误。
根据Javascript语法,对象声明如下所示:(source,稍作修改。请查看下面的注释。)
ObjectLiteral ⇒ { } | { FieldList }
FieldList ⇒ LiteralField | FieldList , LiteralField
LiteralField ⇒ ObjectKey : AssignmentExpression
ObjectKey ⇒ Identifier | NumericLiteral | StringLiteral
..其中Identifier
是defined here。标识符中不能包含点。所以,显然,你违反了语言的语法/语法。
据我了解,您希望根据某个变量的值设置密钥。在这种情况下,您使用方括号表示法。
var d = {}
d[_c.RESPONSE] = 'bla';