Мой вопрос основан на примере из книги « Объектно-ориентированный JavaScript » (страница 81 - Lexical Scope)
Итак, я понял из этого примера ...
function f1(){var a = 1; f2();}
function f2(){return a;}
f1();
... что:
a не определено
Но как f1 узнает о f2, которое определено после f1?
Такое поведение вызывает вопрос:
Как работает интерпретатор JavaScript?
Я предполагаю, что он: