Przewodnik po języku JavaScript 1.5:Zmienne
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
Spis treści |
[edytuj] Zmienne
Zmiennych używa się jako symbolicznych nazw dla wartości w Twojej aplikacji. Nazwy zmiennych, nazywane identyfikatorami, podporządkowane są pewnym regułom.
Identyfikator JavaScript musi zaczynać się literą, podkreśleniem (_) lub znakiem dolara ($); kolejne znaki mogą być cyframi (0-9). Ponieważ JavaScript rozróżnia duże/małe litery, litery oznaczają znaki od "A"do "Z" (duże litery) oraz znaki od "a" do "z" (małe litery).
Poczynając od JavaScript 1.5, w identyfikatorze możesz używać znaków ISO 8859-1 lub Unicode takich jak å czy ą. Jako znaków w identyfikatorze możesz także używać \uXXXX - sekwencji ucieczki Unicode wypisanych na stronie Sekwencje ucieczki do Unicode.
Niektóre przykłady prawidłowych nazw to Number_hits, temp99 i _name.
[edytuj] Deklaracja zmiennych
Możesz zadeklarować zmienne na dwa sposoby:
- Za pomocą słowa kluczowego
var. Na przykład,var x = 42 - Poprzez proste przypisanie wartości. Na przykład,
x = 42
[edytuj] Ocena zmiennych
Zmienna lub element tablicy którym nie przypisano wartości, mają wartość undefined. Rezultat oceny nieprzydzielonej zmiennej zależny jest od sposobu jej deklaracji:
- Jeśli nieprzydzielona zmienna została zadeklarowana bez
var, wynikiem oceny będzie runtime error. - Jeśli nieprzydzielona zmienna została zadeklarowana z
var, wynikiem oceny będzie wartość niezdefiniowana lub NaN w kontekstach numerycznych.
Poniższy kod demonstruje ocenę nieprzydzielonych zmiennych.
function f1() {
return y - 2;
}
f1() //Powoduje runtime error
function f2() {
return var y - 2;
}
f2() //zwraca NaN
Aby określić, czy zmienna posiada wartość, możesz użyć undefined . W poniższym kodzie zmienna input nie posiada przypisanej wartości, więc instrukcja if przyjmuje wartość true.
var input;
if(input === undefined){
doThis();
} else {
doThat();
}
Wartość undefined zachowuje sie jak logiczne false w odpowiednim kontekście (boolean). Poniższy kod wykonuje funkcję myFunction, ponieważ element array nie został zdefiniowany:
myArray=new Array() if (!myArray[0]) myFunction()
Podczas oceny wartości zmiennej null, wartość null zachowuje się jak 0 w kontekście numerycznym oraz jako false w kontekście logicznym (boolean). Na przykład:
var n = null n * 32 //zwraca 0
[edytuj] Zakres zmiennych
Zmienna zadeklarowana poza jakąkolwiek funkcją nazywana jest zmienną globalną (global); staje się ona dostępna dla dowolnego kodu w bieżącym dokumencie. Zmienna zadeklarowana wewnątrz funkcji staje się zmienną lokalną (local) i dostępna będzie jedynie wewnątrz tej funkcji.
Użycie var do zadeklarowania zmiennej global jest opcjonalne. Jednakże, musisz użyć var do zadeklarowania zmiennej wewnątrz funkcji.
Masz dostęp do zmiennych globalnych zadeklarowanych w jednym oknie lub ramce z innego okna/ramki poprzez podanie nazwy okna/ramki. Na przykład, jeśli zmienna phoneNumber jest zadeklarowana w dokumencie FRAMESET, to można się do niej odwołać z dokumentu potomnego poprzez parent.phoneNumber.
[edytuj] Zmienne globalne
Zmienne globalne są w istocie własnościami obiektu globalnego. W stronach internetowych obiektem globalnym jest window.
Możesz wiec ustawiać i odczytywać zmienne globalne przy użyciu składni window.zmienna.
Analogicznie, podając nazwę ramki lub okna, możesz uzyskać dostęp do zmiennych zadeklarowanych w tym oknie lub ramce z innego okna lub ramki. Przykładowo: jeśli zmienna nazwana numerTelefonu została zadeklarowana w dokumencie FRAMESET, możesz odwołać się do tej zmiennej z ramki podrzędnej poprzez parent.numerTelefonu.