Чому фрагменти коду нижче, взяті з цієї статті , дають різні результати завдяки лише одній зміні розміщення фігурних дужок?
Коли вступна фігурна дужка {
знаходиться на новому рядку, 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()
повертає об'єкт, і "фантастичний" повідомляється.
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);
}
return
цього дещо відрізняється, ніж в інших місцях, а розрив рядка "означає більше" у цьому місці, ніж це було б "середній потік"