最佳答案
为什么下面的代码片段取自 这篇文章,仅仅因为花括号的位置发生了一个变化,就会产生不同的结果?
当开头的花括号 {
在一个新行上时,test()
返回 undefined
,并且警报中显示“ no-it broke: unDefinition”。
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);
}
当大括号与 return
在同一行上时,test()
返回一个对象,并且会提醒“太棒了”。
function test()
{
return { /* <---- curly brace on same line */
javascript: "fantastic"
};
}
var r = test();
try {
alert(r.javascript); // does this work...?
} catch (e) {
alert('no - it broke: ' + typeof r);
}