Hakuna matata!
Die JavaScript-Engines halten sich sehr gut an die in ECMA-Script standardisierten Sachen, wenn es um diese grundlegenden Sprachkonstrukte geht.
Naja, die modernen JavaScript-Engines versuchen ihrer Zeit voraus zu sein und implementieren deshalb einen wilden Mix aus EcmaScript 5.1, EcmaScript 6 und sogar EcmaScript 7. Und aus praktischen Gründen implementieren sie auch ihre eigenen Syntax-Erweiterungen. Beispielsweise ist das folgende Snippet, das in ähnlicher Form auch im Beispielcode des OP vorkommt, keine gültige EcmaScript 5.1 Syntax:
if ( true ) {
function foo () {} // Das hier ist eine function declaration, kein function expression
}
Es ist aber ein de-facto-Standard unter Javascript-Engines, function declarations als statements zu implementieren, deswegen wird der gezeigte Code auch überall funktionieren. Die gute Nachricht ist, dass die Implementationen sich hier auch ohne offiziellen Standard alle gleich verhalten, weshalb man solchen Code auch beruhigt schreiben kann.
Wen das Thema interessiert, Juriy Zaytsev hat die Erbsen mal gezählt.
“All right, then, I'll go to hell.” – Huck Finn