我们的公司政策规定,在PHP中,左大括号应该在自己的行中以提高可读性,以便它们可以与右大括号对齐;因此:
if (true)
{
...
}
但在JS中,它们应该保持在同一行,以防浏览器错误解释它出现问题。
if (true) {
...
上述斜体部分是否合理?
PS - 我怀疑这个问题已经在这里问过了,但我没有找到与我的完全匹配的问题。抱歉,如果它在那里并且我没有找到它。
我们的公司政策规定,在PHP中,左大括号应该在自己的行中以提高可读性,以便它们可以与右大括号对齐;因此:
if (true)
{
...
}
但在JS中,它们应该保持在同一行,以防浏览器错误解释它出现问题。
if (true) {
...
上述斜体部分是否合理?
PS - 我怀疑这个问题已经在这里问过了,但我没有找到与我的完全匹配的问题。抱歉,如果它在那里并且我没有找到它。
是的,这在某些极端情况下很重要。
问题不在于“浏览器错误地解释它”。根据 ECMAScript 规范,狡猾的行为是正确的。没有表现出这种行为的 JavaScript 实现将不符合规范。
一个例子。此功能已损坏:
function returnAnObject {
return
{
foo: 'test'
};
}
它应该返回一个对象,但实际上什么也没返回。JavaScript 是这样解释的:
function returnAnObject {
return;
{
foo: 'test'
};
}
JS 中的解释,通常是当你有没有分号的行时,它默认添加在行尾。为了避免这种情况并增加可读性,大括号通常与 IF、WHILE、Function 等添加在同一行。
据我所知,JS中的这个特性被称为隐式分号插入。