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