→   Переменные в джаваскрипте

Все написанные программы с момента создания обрабатывают данные, самыми разными способами и самые разные данные, но суть их работы заключается в обработке данных. Чтобы быстро обрабатывать данные нужно где-то удобно их хранить, нужна такая штука типа оперативки на компе, маленькая, быстрая и чтобы удобно было чистить. Так, ну ладно, начнем-с, переменная — это такая удобная штука, которая помогает хранить данные.

Допустим, вот первая строчка, в примере, присвоит (сохранит в) переменной с именем «y» двойку, а во второй строчке у нас переменная sigma это результат сложения, к её значению в переменной stpr прибавится 12.

1. y = 2;
2. var stpr = 3; var sigma = stpr + 12;
3. var message = "здра-асьте";
4. var y = 0, z = 1, x = 2;
5. var store, pimps, y

Некоторые люди говорят, что это практически всё, что нужно знать о переменных, то-есть иными словами ничего :)

Но на самом деле это нифига не всё, чтобы иметь хотя бы общее представление о переменных, надо еще знать что такое:

  • Объявление переменных;
  • Область видимости переменных;
  • Типизация переменных.

 

→   Объявление переменных

Как все уже заметили все переменные объявляются с помощью ключевого слова var, с помощью него же можно объявить сразу и несколько переменных и даже сразу инициализировать их. (звездочка)

(звездочка)

Кстати, если не объявлять переменную, то она сама объявится, но только неявно, это сделает джаваскрипт, но лучше, конечно, объявлять её, потому что это правильно и понятней и еще может такое случиться, что джаваскрипт примет переменную за неправильно написанный оператор.

И ещё, пример использования ключевого слова var можно увидеть, на примере выше. (это там где зеленным по серому написано)

В именах объявляемых переменных важно помнить, что они чувствительны к регистру верхнему и нижнему, например переменные stpr и StPr будут считаться разными. Также имя переменной не должно совпадать с ключевыми словами. Это такой список слов которые джаваскрипту нужны для того чтобы работать, впрочем, вот они. И ещё имя переменной должно начинаться с латинской буквы или знака: «_», нельзя начинать ее с цифры или с буквы кириллического алфавита, короче 1stpr и Переменная_stpr — это неправильные имена.

Также ещё важно:

  • в именах переменных нельзя использовать символ доллара — $, потому что он не воспринимается браузерами IE 3.02 (поддерживающим javascript 1.0) и Netscape Navigator 2.02; (впрочем, это уже не важно)
  • и ещё нельзя использовать имена переменных, которые отличатся друг от друга только только символами верхнего и нижнего регистра (например, STPR и Stpr), поскольку javascript 1.0 не сумеет их отличить (да и вам будет не удобно)

→   Область видимости переменных (Глобальные и локальные)

Это вот когда программу пишут, её можно разделить на части (области), например первая часть это — объявление всех переменных, которые мы собираемся применить, вторая часть — это какие нибудь функции и циклы, которые что-то там делают, а третья — это допустим вывод результатов. Так вот, если мы во второй и в первой части объявим переменные с одинаковыми именами, то они будут работать согласно области видимость. Выглядит это вот так:

var strp = "глобальная"; // Объявляем в первой части переменную, она будет считаться глобальной
function
print_strp() {

var strp = "локальная"; // Объявляем во второй части переменную с тем же именем, но она уже будет локальной
document.write(strp); // Используется локальная переменная, а не глобальная
}

print_strp(); // выводим на экран слово "локальная"

На экран выведется, именно слово «локальная», потому что функция не может посмотреть наверх в первую часть, ей более важно что находится внутри неё самой, поэтому она совершенно справедливо говорит нам, что в переменной stpr находится слово «локальная».

По такому принципу, может быть несколько уровней областей видимости и каждая функция будет иметь свою область видимости переменных.

→   Типизация переменных;

Это очень просто, у джаваскрипта есть своя фишка, он нетипизированный язык программирования (untyped). Что это значит? Это когда одной и той же переменной можно сказать, что сначала она содержит число, а потом она же может содержать строчку из литер.

Кстати, если в коде программ, написанных на C++ и Java проделать такой трюк с переменной, то случится апокалипсис.