为什么结果因大括号位置而异?
2022-08-30 02:45:15
为什么下面的代码片段(取自本文)由于大括号位置的单个更改而产生不同的结果?
当左大括号位于新行上时,将返回 ,并在警报中显示“否 - 它已中断:未定义”。{
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);
}
当大括号与 位于 同一行时,将返回一个对象,并提醒“fantasy”。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);
}