у тебя нет проблем

опрос основан на примере из книгиОбъектно-ориентированный JavaScript"(стр. 81 - Лексическая область)

Итак, я понимаю из этого примера ...

function f1(){var a = 1; f2();}
function f2(){return a;}
f1();

... это:

а не определено

Но как f1 узнать о f2, который определяется после f1?

Такое поведение вызывает вопрос:

Как работает интерпретатор JavaScript?

Я предполагаю, что это:

сканирует код и просто сохраняет функции, не назначенные ни одной переменной, в глобальной средеВызывает функцию в режиме ad-hoc: если такой функции нет в глобальной среде, тогда жаловаться.

Ответы на вопрос(1)

Ваш ответ на вопрос