函数上下文中的 {"x":1} 和 {x:1} 有什么区别

Kar*_*yan 0 javascript json function object

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

尝试声明如下方法,

function wayOne() {
  {
    "x":1
  }
}
function wayTwo() {
  {
    x:1
  }
}
Run Code Online (Sandbox Code Playgroud)

while 函数 wayOne 抛出

未捕获的语法错误:意外的标记“:”

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

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

Que*_*tin 7

{}是一个

这使得x:一个标签

标签必须是标识符

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