JavaScript 格式化 : must braces be on the same line as the if/function/etc keyword?

标签 javascript formatting code-formatting curly-braces

<分区>

Possible Duplicate:
why results varies upon placement of curly braces in javascript code

我们的公司政策规定,在 PHP 中,左大括号应单独占一行以提高可读性,并与右大括号对齐;因此:

if (true)
{
    ...
}

但在 JS 中它们应该保持在同一行,以防浏览器错误地解释它

if (true) {
    ...

上面的斜体部分是否合理?

PS - 我怀疑这个问题已经在这里问过了,但我还没有找到与我的问题完全匹配的问题。抱歉,如果它在那里但我没有找到它。

最佳答案

是的,它在某些极端情况下很重要。

问题不在于“浏览器错误地解释它”。根据 ECMAScript 规范,狡猾的行为是正确的。未表现出此行为的 JavaScript 实现不符合规范。

一个例子。此功能已损坏:

function returnAnObject {
    return
    {
        foo: 'test'
    };
}

它应该返回一个对象,但实际上什么也没有返回。 JavaScript 是这样解释它的:

function returnAnObject {
    return;
    {
        foo: 'test'
    };
}

关于JavaScript 格式化 : must braces be on the same line as the if/function/etc keyword?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3960518/

相关文章:

javascript - 动态命名的局部变量,用于加载模块

javascript - 为什么我的 onchange 事件是在我的页面加载时触发的,而不是在我单击单选按钮时触发的?

PHP:通过插入逗号来格式化数字字符串

pdf - XSL/XSL-FO : Different formatting of a block depending on its page position on PDF page

json - 如何美化文档中的 JSON?

java - 在 Eclipse 中格式化字段声明

javascript - 禁用 Reactjs 中的依赖下拉选项

javascript - 如果元素的长度相同,如何找到第一个实例?

formatting - 贾斯珀报告 : how to tell if a field is pushed onto next page

javascript - 我如何使用 intellij 在 javascript 中更漂亮的模板文字