为什么下面摘自本文的代码片段会因为花括号位置的单一变化而产生不同的结果?
当左花括号{
在新行上时,test()
返回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);
}
当大括号与 位于同一行时return
,test()
返回一个对象,并警告“fantastic”。
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);
}