V dnešním velice krátkém dílu se zmínim o drobnosti, kterou by měli mít na paměti hlavně programátoři přicházející z jazyků jako je Java či C#. Vývojáře znalé třeba PHP ale zajisté nijak nezaskočí, ti zde budou jako doma. V JavaScriptu (podobně jako v PHP) je totiž lokální proměnná platná vždy v rámci celé funkce.
Oproti tomu ve zmiňované Javě je platnost omezena na blok kódu.
// Java
public void funkce() {
int i = 10;
for (int i =0; i < 15; i++) {
System.out.println("Uvnitr bloku i: " + i);
}
System.out.println("Vne bloku i: " + i);
}
V uvedném kódu překryje proměnná i deklarovaná
v záhlaví cyklu vnější proměnnou i.
V Javascriptu ale následující zápis postrádá smysl:
// JavaScript
function funkce() {
var i = 10;
for (var i = 0; i < 6; i++) {
//neco...
}
for (var i = 0; i < 68; i++) {
//neco jineho
}
}
Proměnná i bude prostě jenom jedna, bez ohledu na počet použití
klíčového slova var.
S oborem platnosti na úrovni funkce silně souvisí další zajímavá vlastnost, nazývaná „variable hoisting“. Proberu ji příště.


