我记得有一个约定/建议将开括号放在同一行,因为Javascript添加分号或其他东西的方式.
//OK
function blah(){
};
//Probably not OK
function blah()
{
};
Run Code Online (Sandbox Code Playgroud)
但我没有找到确认/否认这一点的相关来源.
这是真的?还是只是一个神话?
Roc*_*mat 24
您正在考虑的问题是return声明.
return {
value: 'test'
}
Run Code Online (Sandbox Code Playgroud)
工作正常,但以下不是:
return
{
value: 'test'
}
Run Code Online (Sandbox Code Playgroud)
将return上述内容转换为以下内容后,JavaScript会添加分号:
return;
{
value: 'test'
}
Run Code Online (Sandbox Code Playgroud)
Douglas Crockford给出了选择K&R风格的理由[1]:
"我总是使用K&R风格,把{放在一行而不是前面,因为它避免了JavaScript的返回声明中可怕的设计错误.
他所指的错误是JavaScript如何在以下两种情况下以不同方式处理return语句:
return {
'status': 'ok'
};
Run Code Online (Sandbox Code Playgroud)
......和:
return
{
'status': 'ok'
};
Run Code Online (Sandbox Code Playgroud)
第一个将返回一个具有status属性的对象,而后一个将返回undefined因为分号插入."
[1] Douglas Crockford:JavaScript:好的部分:风格(p.96)
在JavaScript的花园有一个约章自动插入分号.当自动添加分号时,它给出了很好的示例:
JavaScript不是一种不带分号的语言,它实际上需要分号才能理解源代码.因此,只要遇到由于缺少分号而导致解析错误,JavaScript解析器就会自动插入它们.
在您的示例中,JavaScript不会因为缺少分号而遇到错误.
| 归档时间: |
|
| 查看次数: |
3370 次 |
| 最近记录: |