- Zmienna globalna - każdy ma dostęp
- Zmienna lokalna - tylko w bloku kodu
- A gdybyśmy chcieli mieć zmienną globalną, ale o ograniczonym dostępie
- Domknięcie: closure. Tworzy osobny kontekst dla zmiennych
var x = (function () {
//zmienna dostępna poprzez funkcje x
var z = "";
//funkcja zwracająca funkcję
return function () {
//modyfikacja zmiennej
z += "cos";
//zwrócenie aktualnej wartości
return z;
}
})();
console.log(x()); //OK
console.log(z); //error