Velmi pěkný článek. Jen bych si dovolil malou poznámku k této větě: „Pokud je proměnná deklarována na nejvyšší úrovni, tedy přímo v dokumentu, mimo tělo nějaké funkce, stává se tímto okamžikem proměnnou globální a je dostupná z kteréhokoli místa kódu.“.
Použití slova „dokument“ považuji za velmi nešťastné. V JavaScriptu je tou nejvyšší úrovní globální objekt. Co je tím globálním objektem pak už záleží na konkrétním nasazení JavaScriptu. Pokud se máme bavit o prohlížečích, tak to je objekt „window“, nikoliv „document“. Zkuste si „alert(this === window);“ a „alert(this === document);“.