1

我在 Chrome 开发控制台(和 Firebug)中遇到了一些我不太理解的行为......

如果我直接在控制台中输入多属性JSON 对象,则会收到以下错误:

在此处输入图像描述

我期望的结果是对象将完全按照我输入的方式返回,就像我直接输入字符串或数字值一样。

请注意,这是一个不同的结果,如果我要输入一个单一的属性对象:

在此处输入图像描述

这里发生了什么?为什么会抛出 SyntaxError?

4

2 回答 2

1

控制台会评估您输入的任何内容。如果您eval()直接使用 JSON 对象,则会得到相同的结果。

eval("{foo1: 1, foo2: 2}")
// SyntaxError: Unexpected token :

如果将对象分配给变量,则不会出现语法错误。

// in console
> var foo = {foo1: 1, foo2: 2};
undefined
> foo
Object {foo1: 1, foo2: 2}
于 2013-04-18T21:25:48.330 回答
1

从 Chrome 66 开始,直接在控制台中评估对象有效。

控制台中的对象

于 2018-01-31T19:28:37.033 回答