jez*_*mck 4 javascript formatting code-formatting curly-braces
我们有公司政策规定在PHP开放花括号应该在他们自己的行上以便于阅读,以便他们可以与结束括号对齐; 从而:
if (true)
{
...
}
Run Code Online (Sandbox Code Playgroud)
但在JS中,它们应保持在同一行,以防浏览器错误地解释它时出现问题.
if (true) {
...
Run Code Online (Sandbox Code Playgroud)
上述斜体部分是否合法?
PS - 我怀疑这个问题已经在这里被问过了,但是我没有找到与我的问题完全匹配的问题.道歉,如果它在那里,我没有找到它.
Luk*_*keH 12
是的,在某些特殊情况下这很重要.
问题不在于"浏览器错误地解释它".根据ECMAScript规范,狡猾的行为是正确的.没有出现此行为的JavaScript实现将不符合规范.
一个例子.这个功能坏了:
function returnAnObject {
return
{
foo: 'test'
};
}
Run Code Online (Sandbox Code Playgroud)
它应该返回一个对象,但实际上什么都不返回.JavaScript解释如下:
function returnAnObject {
return;
{
foo: 'test'
};
}
Run Code Online (Sandbox Code Playgroud)