这有什么问题:
var a = "1";
var b = {};
var b[a] = 'test';
根据this SO question,以上内容有效。但var b[a] = 'test'
在AngularJS(v1)中生成此错误:
未捕获的SyntaxError:意外的令牌[
答案 0 :(得分:6)
这一行:
var b[a] = 'test';
无效,因为变量名称中不允许使用字符[
和]
。
如果您不希望在该行上声明新变量,而只是将一个键/值对分配给对象b
,则可以删除var
:
b[a] = 'test'; //b now equals { "1": "test" }