J'ai lu cet article, où un exemple est illustré. Veuillez expliquer pourquoi les extraits de code ci-dessous renvoient des résultats différents en raison de changements dans le placement d'entre les accolades.
Exemple avec une accolade d'ouverture {
sur la nouvelle ligne.
function test()
{
return
{ /* <----curly brace in new line */
javascript: "fantastic"
};
}
var r = test();
try {
alert(r.javascript); // does this work...?
} catch (e) {
alert('no - it broke: ' + typeof r);
}
test()
retours undefined
.
Exemple avec une accolade d'ouverture {
sur la même ligne que return
.
function test()
{
return { /* <----inline curly brace */
javascript : "fantastic"
};
}
var r = test();
try {
alert(r.javascript); // does this work...?
} catch (e) {
alert('no - it broke: ' + typeof r);
}
test()
renvoie un objet.
Ici est l'exemple vivant méfiez-vous des accolades.