Funkcje potrafią szukać zmiennych tylko w swoim zakresie lub wyżej.
var a = 0;
function someFnc() {
var a = 100;
console.log('inside someFnc a =: ',a); //gdyby nie było var = a, konsola wykazałaby 0;
(function innerFnc() {
var a = 33;
console.log('inside innerFnc a =: ',a); //gdyby nie było var = a, konsola wykazałaby 100;
})();
}
someFnc();