在您看来,您遇到的最令人惊讶,奇怪,奇怪或真正的"WTF"语言功能是什么?
每个答案只能有一个功能.
为什么从本文中获取的代码片段会产生不同的结果,因为花括号的位置只有一个变化?
当开始大括号{在新行上时,test()返回undefined,并且警报中显示"no - it broke:undefined".
function test()
{
return
{ /* <--- curly brace on new line */
javascript: "fantastic"
};
}
var r = test();
try {
alert(r.javascript); // does this work...?
} catch (e) {
alert('no - it broke: ' + typeof r);
}Run Code Online (Sandbox Code Playgroud)
当括号与同一行时return,test()返回一个对象,并提醒"神奇".
function test()
{
return { /* <---- curly brace on same line */
javascript: "fantastic"
};
}
var r = test(); …Run Code Online (Sandbox Code Playgroud)直到最近我才意识到这一点,但在编写javascript代码时我使用了Allman风格.
根据http://encosia.com/in-javascript-curly-brace-placement-matters-an-example/,我应该使用K&R风格.这是因为在某些情况下,将花括号放在下一行会导致问题.对我来说,问题是我变得非常喜欢奥尔曼风格而宁愿不改变.
所以,我的问题
是不是因为在javascript中放置大括号,allman样式会导致错误?jquery怎么样?
是否有任何技巧可以让我使用Allman风格而不会因花括号而出现问题?
使用这些样式是否还有其他问题?