"花括号总是应该在声明行上"规则是如此重要吗?

Mic*_*fed 4 javascript google-style-guide

我理解"分号隐式插入",但我不确定它是否出现在函数表达式的情况下.

例如,这两个表达式总是会同意解释:

Matrix.scale = function (mat, scaleX, scaleY, dest) {
// useful code
};

Matrix.scale = function (mat, scaleX, scaleY, dest)
{
// useful code
};
Run Code Online (Sandbox Code Playgroud)

我喜欢第一个,我也注意到谷歌也喜欢它:http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml?showow = Code_formatting#Code_formatting.但是我的同事对这种风格不满意.问题是,即使使用函数声明,是否严格遵守此规则,或者它是对均匀性的致敬,并且这个代码在棘手的缩小之后不会破坏?

Yos*_*shi 9

在其他语言中,它可能是一个品味问题,但在JS中,很难找到错误的来源.请考虑以下代码段,这些代码段可能无法实现乍看之下的预期:

function foo()
{
  return
  {
    bar: 1
  };    
};

console.log(foo()); // => undefined
Run Code Online (Sandbox Code Playgroud)

进一步阅读:http://en.wikipedia.org/wiki/JavaScript_syntax(搜索"分号插入")

  • 由应该知道的人解释:http://www.youtube.com/watch?v = hVVTIJBZook&t = 30m38s (4认同)
  • 我不明白你想要的意思.这与拥抱的格式有什么关系? (2认同)
  • 我的观点是,在新线上使用括号可能(在某些情况下)在JS中存在问题.所以最好(在我看来,再次,在JS**中**)总是把它放在*右边*. (2认同)