Этот код всегда работает, даже в разных браузерах:
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();
Я не мог найти единственную ссылку на то, почему это должно работать, все же. Я впервые увидел это в записке Джона Резига, но это было только упомянуто. Там нет никакого объяснения там или где-либо в этом отношении.
Может ли кто-нибудь, пожалуйста, просветить меня?