Согласие на обработку персональных данных.

11.10.2019
Новые видео и статья Условный оператор в JavaScript.

05.10.2019
Новые видео и статья Выражения и операторы в JavaScript.

04.10.2019
Новый выпуск журнала Автоматизация и программирование.

28.09.2019
Новая статья Область видимости переменных в JavaScript.

22.09.2019
Новая задача Использование модулей и заголовочных файлов.



Раздел: Сайтостроение / JavaScript /

Переменные в JavaScript

Что такое JavaScript Что такое JavaScript

Небольшая книга о JavaScript, которая поможет вам в изучении JavaScript. В книге и рассылке сведения для начинающих: что такое JavaScript, как это работает, письма, которые помогут принять решение, надо ли вам это или нет, а также полезные ссылки на обучающие материалы. Подробнее...

Коротко о переменных в JavaScript я уже говорил здесь. Но там были только самые общие сведения, которых, быть может, достаточно для знакомства с языком, но недостаточно для изучения. Сегодня я расскажу о переменных более подробно (хотя и эти данные тоже не будут исчерпывающими). Если вы хотите знать всё о переменных, то советую обратить внимание на полноценный обучающий курс:

>>> JavaScript, jQuery и Ajax с нуля до гуру >>>

Ну а сейчас второе знакомство с переменными - более насыщенное.

Если вы совсем далеки от программирования, то начальные знания о переменных можно получить здесь.

Типы переменных в JavaScript

Одно из самых важных отличий JavaScript от таких языков, как Java, C/С++, Паскаль и т.п. - это то, что JavaScript – это нетипизированный (untyped) язык.

Это значит, например, что переменная в языке JavaScript может содержать значение любого типа, в отличие от переменной большинства других языков, в которой может содержаться только определенный тип данных, заданный при ее объявлении.

Так, в JavaScript можно присвоить переменной число, а затем присвоить той же переменной строку:

i = 10;
i = "десять";

В любом строго типизированном языке (а большинство языков именно такими и являются) подобный код недопустим.

Ну а JavaScript спокойно всё это обрабатывает. И, поскольку в этом языке нет строгой типизации, то он в случае необходимости легко и автоматически преобразует значения из одного типа в другой. Например, если вы попытаетесь дописать число к строке, JavaScript автоматически преобразует число в соответствующую строку, которая может быть добавлена к имеющейся:

i = "Число " + 10;

Этот код для JavaScript не является ошибочным. А вот если бы вы попробовали то же самое сделать, например, в С/С++, то компилятор выдал бы ошибку.

Однако большинство программ на JavaScript - это небольшие сценарии, в которых искать такие ошибки проще. Так что программисты могут воспользоваться преимуществами более простого синтаксиса без особого риска получить неприятности в виде ошибок.

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

В JavaScript, как и в большинстве других языков программирования, прежде чем использовать переменную, её надо объявить.

Переменные объявляются с помощью ключевого слова var следующим образом:

var x;
var summa;

Можно объявить несколько переменных через запятую:

var x, summa;

Кроме того, при объявлении переменной её можно инициализировать (то есть присвоить какое-то начальное значение):

 
var msg = "Hello, WORLD!!!";
var i = 0, j = 0, k = 0;

Если начальное значение не задано в инструкции var, то переменная объявляется и её можно использовать, но ее начальное значение будет неопределенным (undefined), пока не будет изменено программой.

СОВЕТ:
Всегда присваивайте переменным начальные значения. Во-первых, так будет сразу понятно, с каким типом данных планируется использовать переменную. Во-вторых, наличие переменной с неопределённым значением может привести к труднонаходимым ошибкам.

Особенно это касается тех, кто привык программировать на таких языках, как Паскаль, Delphi и т.п., где неинициализированным переменным всегда присваиваются нулевые значения. В JavaScript это невозможно, так как это нетипизированный язык, и до тех пор, пока переменной не присвоено какое-то значение, интерпретатор не знает, какой тип у этой переменной.

Чувствительность к регистру

JavaScript - это язык, чувствительный к регистру (также как и С/С++ и некоторые другие языки). Это значит, что ключевые слова, переменные, имена функций и любые другие идентификаторы языка должны всегда содержать одинаковые наборы прописных и строчных букв.

Например, в следующем коде мы объявляем ДВЕ РАЗНЫХ переменных:

var X = 100;
var x = 200;

А если вы попробуете написать в этом коде, например, Var вместо var, то это будет ошибкой, и сценарий не будет выполняться.

Или, можно, например поизвращаться так:

var Var = 500;

Здесь мы объявили переменную Var с помощью ключевого слова var. И это не является ошибкой в JavaScript.

Можно повторить, а можно вообще не объявлять

С помощью инструкции var можно объявить одну и ту же переменную несколько раз. Если повторное объявление содержит инициализатор, то оно действует как обычная инструкция присваивания. Пример:

var X = 100;
var x = 200;
var Var = 0;    //Var содержит число 300
Var = X + x;
var x = 300;    //Var содержит число 400
Var = X + x;

Не запутались? Если запутались, то посмотрите повнимательнее. Кстати, во многих языках повторные объявления недопустимы.

Если переменная не была ранее объявлена, то при попытке прочитать значение этой переменной, JavaScript сгенерирует сообщение об ошибке.

Если переменная не была ранее объявлена с помощью инструкции var, то JavaScript неявно объявит эту переменную автоматически. Примеры:

x = y;

Если у не была ранее объявлена, то на этой строке выполнение сценария прекратится, так как это будет считаться ошибкой. Если же вы сделаете так:

y = 555;
x = y;

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

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

СОВЕТ:
Лучше объявлять с ключевым словом var все переменные – и глобальные, и локальные. Так вы привыкнете к хорошему стилю программирования, который позволит совершать меньше ошибок.

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

>>> JavaScript, jQuery и Ajax с нуля до гуру >>>


Что такое JavaScript Что такое JavaScript

Небольшая книга о JavaScript, которая поможет вам в изучении JavaScript. В книге и рассылке сведения для начинающих: что такое JavaScript, как это работает, письма, которые помогут принять решение, надо ли вам это или нет, а также полезные ссылки на обучающие материалы. Подробнее...
Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика