function a {
var abc = 12;
function b () {
console.log(abc);
}
b();
}
var abc = 12;
function b () {
console.log(abc);
}
b();
}
Funkcje sa danymi, wiec mozemy je definiowac wewnatrz innych funkcji. I zachowuja sie dokladnie tak samo jak zmienne. Jesli teraz wywolamy funkcje a:
a();
to na konsoli zostanie wypisana liczba 12. Jesli natomiast sprobujemy wywolac b:
b();
to otrzymamy ReferenceError: b is not defined. Ten sam blad (tylko z nazwa innej zmiennej) pojawi sie, jesli sprobujemy wyswietlic wartosc zmiennej abc. Zarowno funkcja b jak i zmienna abc sa zdefiniowane wewnatrz funkcji a, wiec sa widoczne tylko w jej wnetrzu, a poza nia srodowisko ich nie zna.
Brak komentarzy:
Prześlij komentarz