Потому, что foo глобальная переменная и объявлена вне функции, в функции объявление переменной нет вообще, то есть даже значения undefined нет, по этому поиск переменной переходит на контекст выше - глобальный.
Алгоритм парсинга контекста повторяется для каждого контекста, а не в общем для всех.
http://dmitrysoshnikov.com/ecmascrip...tion-contexts/
http://dmitrysoshnikov.com/ecmascrip...4-scope-chain/
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Последний раз редактировалось Nekromancer, 16.06.2011 в 18:39.
|