3

好奇为什么作者在这里用括号括起来对象声明

rtpg.map.START_KEYS = ({"Key 1":"Value 1", "Key 2":"Value 2", "Key 3":"Value 3", "Key 4":"Value 4"});

为什么不:

rtpg.map.START_KEYS = {"Key 1":"Value 1", "Key 2":"Value 2", "Key 3":"Value 3", "Key 4":"Value 4"};
4

2 回答 2

3

没有功能上的区别。

如果您在调用中放置 JSON 文本eval以获取 JavaScript 对象,则必须使用括号来消除语句中生成的表达式的歧义,但这里不是这种情况:对象字面量跟随一个=标记,因此可以被解析仅作为表达式,无需消歧。

因此,作者这样做是出于:

  • 一致性,或
  • 偏好,或
  • 无知。
于 2013-08-05T14:43:49.953 回答
0

正如其他人所提到的,在使用 时指定括号有一些价值eval,但这里不是这种情况。在这个特定的代码片段中,任何一种方式的工作方式都完全相同,因此无论出于何种原因,这只是作者的偏好。

于 2013-08-05T14:40:18.837 回答