首页 > 解决方案 > 函数上下文中的 {"x":1} 和 {x:1} 有什么区别

问题描述

这个问题只是为了理解“JavaScript 是如何工作的?” 以更好的方式。

尝试声明如下方法,

function wayOne() {
  {
    "x":1
  }
}
function wayTwo() {
  {
    x:1
  }
}

while 函数 wayOne 抛出

未捕获的 SyntaxError:意外的标记“:”

函数 wayTwo 没有抛出任何错误。

这两种方法在语法上的区别是什么

标签: javascriptjsonfunctionobject

解决方案


{}是一个

这使得x:一个标签

标签必须是标识符

块内的字符串文字只是一个值。跟在 a:后面是没有意义的,因此:语法错误。


推荐阅读