Zmienne ECMAScript

Proszę używać operatora var do deklarowania zmiennych.

Nazwy zmiennych muszą przestrzegać prostych zasad.

Deklarowanie zmiennych

W poprzednim rozdziale wyjaśniliśmy, że zmienne w ECMAScript są definiowane za pomocą operatora var (skrótu od variable). Na przykład:

var test = "hi";

W tym przykładzie zadeklarowano zmienną test i zainicjowano ją wartością "hi" (ciąg). Ponieważ ECMAScript jestSłabo zdefiniowane, więc interpreter automatycznie utworzy wartość ciągową dla testNie wymaga wyraźnego deklarowania typu

Można również zdefiniować dwie lub więcej zmiennych jednym poleceniem var:

var test1 = "hi", test2 = "hello";

Poprzedni kod definiuje zmienną test1 z wartością początkową "hi", oraz zmienną test2 z wartością początkową "hello".

AleZmienne zdefiniowane jednym poleceniem var nie muszą mieć tego samego typuJak pokazano poniżej:

var test = "hi", age = 25;

Ten przykład, oprócz ponownego zdefiniowania test, również definiuje age i inicjalizuje ją na 25. Nawet jeśli test i age są różnymi typami danych, w ECMAScript jest to całkowicie legalne.

W przeciwieństwie do Java, zmienne w ECMAScript nieNie musi być inicjalizowana(są inicjalizowane w tle, o czym będziemy mówić później)。Dlatego poniższa linia kodu również jest poprawna:

var test;

Różni się również od Java w kwestii zmiennychMożna przechowywać różne typy wartościTo jest zaleta słabo zdefiniowanych zmiennych. Na przykład, można zainicjalizować zmienną wartością typu ciągowego, a następnie ustawić ją jako wartość liczbową, jak pokazano poniżej:

var test = "hi";
alert(test);
test = 55;
alert(test);

Ten kod bez problemu wyświetli wartości ciągowe i liczbowe. Ale, jak powiedziano wcześniej, dobrymi nawykami programowania jest zawsze przechowywanie wartości tego samego typu.

Nazywanie zmiennych

Nazwy zmiennych muszą przestrzegać dwóch prostych zasad:

  • Pierwszy znak musi być literą, znakiem podkreślnym (_) lub symbolem dolara ($)
  • Pozostałe znaki mogą być znakami podkreślnymi, symbolem dolara lub jakąkolwiek literą lub cyfrą

Poniższe zmienne są legalne:

var test;
var $test;
var $1;
var _$te$t2;

Powszechne zasady nazewnictwa zmiennych

Ponieważ poprawność gramatyczna nazwy zmiennej nie oznacza, że należy jej używać. Nazwy zmiennych powinny również przestrzegać jednej z powszechnych zasad nazewnictwa:

Camel markowanie

Pierwsza litera jest mała, a następne litery zaczynają się od dużej litery. Na przykład:

var myTestValue = 0, mySecondValue = "hi";

Markowanie stylu Pascal

Pierwsza litera jest duża, a następne litery zaczynają się od dużej litery. Na przykład:

var MyTestValue = 0, MySecondValue = "hi";

Markowanie typów węgierskich

Dodaj małą literę (lub sekwencję małych liter) przed zmienną nazwaną w stylu Pascal, aby wskazać jej typ. Na przykład, i oznacza liczbę całkowitą, s oznacza ciąg znaków, jak pokazano poniżej:

var iMyTestValue = 0, sMySecondValue = "hi";

Ten podręcznik przyjmuje te przedrostki, aby ułatwić czytanie kodu przykładowego:

Typ Przedrostek Przykład
Tablica a aValues
Typ logiczny b bFound
Typ zmiennoprzecinkowy (liczba) f fValue
Funkcja fn fnMethod
Typ całkowity (liczba) i iValue
Obiekt o oType
Wyrażenie regularne re rePattern
Ciąg znaków s sValue
Typ zmiennych (może być dowolny) v vValue

Deklaracja zmiennych nie jest obowiązkowa

Innym interesującym aspektem ECMAScript (i główną różnicą w porównaniu do większości języków programowania) jest to, że nie musi się deklarować zmiennych przed ich użyciem. Na przykład:

var sTest = "hello ";
sTest2 = sTest + "world";
alert(sTest2);

W powyższym kodzie, najpierw, sTest jest deklarowany jako wartość typu string "hello". W następnym wierszu, zmienna sTest2 łączy sTest z ciągiem "world". Zmienna sTest2 nie jest zdefiniowana za pomocą operatora var, tutaj jest wstawiona, jakby była już zadeklarowana.

Jeśli interpreter ECMAScript napotka niezadeklarowany identyfikator, utworzy zmienną o nazwie tego identyfikatora i zainicjuje ją do określonej wartości.

To jest wygoda tego języka, ale jest to również ryzykowne, jeśli nie można śledzić zmiennych. Najlepszym nawykiem jest deklarowanie wszystkich zmiennych, jak w innych językach programowania.