为什么JavaScript中的括号位置很重要?

时间:2014-06-09 12:50:18

标签: javascript

考虑这两个功能。

function func1() {
   return
   {
      foo: 'bar'
   }
}

function func2() {
   return {
      foo: 'bar'
   }
}

alert(typeof func2()) //return object

alert(typeof func1()) //return undefined

为什么大括号的位置在许多其他语言中不重要?它是语言功能还是错误?

1 个答案:

答案 0 :(得分:44)

因为automatic semicolon insertion。第一个代码与

相同
function func1() {
   return;
   {
      foo: 'bar'
   }
}

如果您想知道为什么此代码不会产生语法错误,foo:label

关于

  

是语言功能还是错误?

这是一个功能。但是非常危险的一个。保持它成为一种功能的最好方法是坚持一致的格式化风格(我建议使用Google style guide,直到你有足够的经验来制作自己的格式。)