Zmienne
Trzeba całość wyczyścić i uzgodnić z wersją EN: zmiany 06-2006
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
.
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
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
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
.
Zmienne globalne
Zmienne globalne są w istocie własnościami obiektu globalnego. W stronach internetowych obiektem globalnym jest window.
dodać link wewnętrzny 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
.