Questo codice funziona sempre, anche in diversi browser:
function fooCheck() {
alert(internalFoo()); // We are using internalFoo() here...
return internalFoo(); // And here, even though it has not been defined...
function internalFoo() { return true; } //...until here!
}
fooCheck();
Tuttavia, non sono riuscito a trovare un solo riferimento al perché dovrebbe funzionare. L'ho visto per la prima volta nella nota di presentazione di John Resig, ma è stato menzionato solo. Non ci sono spiegazioni lì o ovunque per quella materia.
Qualcuno potrebbe illuminarmi per favore?