
Zarządzanie zasięgiem | 27
Wtym przypadku
eval()
tworzy w
execute()
lokalną zmienną
window
, więc wrezultacie
w
jest
równe lokalnej zmiennej
window
, zamiast zmiennej globalnej. Nie możemy dowiedzieć się,
czy tak jest, dopóki kod nie zostanie wykonany, cooznacza, żenie można zgóry określić
wartości identykatora
window
.
Optymalizacyjne maszyny JavaScript, takie jak Nitro rmy Safari, próbują przyśpieszyć
określanie identykatorów stosując analizę kodu, aby stwierdzić, które zmienne powinny
być dostępne przez cały czas. Maszyny tepróbują unikać tradycyjnego przeglądania łań-
cucha zasięgu, stosując indeksowanie identykatorów wcelu szy