A função JavaScript não retorna o objeto quando há uma quebra de linha entre a declaração de retorno e o objeto?
Aqui está ojsfiddle
O código completo:
function foo1(){
return {msg: "hello1"};
}
function foo2(){
return
{msg: "hello2"};
}
// output = "foo1 = {"msg":"hello1"}"
console.log('foo1 = ' , JSON.stringify(foo1()));
//output = " foo2 = undefined "
console.log('foo2 = ' , JSON.stringify(foo2()));
A diferença entre os dois é que em foo2, o{msg: 'hello'}
está em sua própria nova linha. Eu estava esperando o analisador ignorar os espaços em branco?