0

我有一些比下面更复杂的字符串,但简单地说,假设我有

var stats_members = ",\{\"y\"\: 6\}";
var data = 
    [{
                "x": "2012-11-05",
                "y": 6
            },+stats_members+
            ]
          ;

当我console.log(data)继续得到时,Uncaught SyntaxError: Unexpected token ]有人可以解释为什么吗?

4

4 回答 4

1

正如评论显示的那样,您要达到的目标尚不清楚。

还:

},+stats_members+

应该

},+stats_members
于 2013-09-20T09:06:47.967 回答
1

数据变量声明中有一个额外的“+” 。

它应该是:

var data = [{"x": "2012-11-05", "y": 6 }, stats_members];
于 2013-09-20T09:09:41.780 回答
1
var stats_members = ",\{\"y\"\: 6\}";
var data = 
    [{
                "x": "2012-11-05",
                "y": 6
            },+stats_members
            ]
          ;

“stats_members”之后的额外加号导致问题兄弟

于 2013-09-20T09:11:03.017 回答
0

你在那里做了一些非常奇怪的事情。为了使它非常简单,这是解析器解释您的代码的方式:

var data = 
[                         //-> here starts an array literal
{                         //-> here starts an object literal (first array item)
  "x": "2012-11-05",      //-> here is the property x in the object literal
  "y": 6                  //-> here is the property y in the object literal
}                         //-> here ends the object literal
,                         //-> comma separating array items
+stats_members            //-> cast to number by the unary + sign
+                         //-> add something to the value on the previous row
]                         //-> array literal end should not be here, it is expecting something to add

如果您想准确解释您要做什么,我们可以提供更好的语法帮助。

于 2013-09-20T09:10:44.687 回答