JavaScript для начинающих | Переменные
Это вводный курс по JavaScript для начинающих. Сегодня мы рассмотрим, что такое переменные в JavaScript. Поехали!
Переменные в JavaScript — это как продукты, необходимые для приготовления вкусного блюда. Без них программирование не имело бы смысла. Переменные задают некие вводные значения и позволяют сохранять в них результаты вычислений.
По-другому их можно представить как контейнеры, в которых помещены необходимые для работы данные. Ведь их нужно где-то сохранять, пока программа работает.
Вот вам пример:
<script>
var password = prompt( "Введи свой пароль" );
alert( "Твой пароль " + "Бу-га-га-га!!! Ну ты и лошара!" );
</script>
Здесь мы задали переменную password и в качестве ее значения добавили некую фишку под названием prompt. Эта штука, как и знакомый вам уже alert, выводит на экран окошко. Но если alert просто выводит сообщение, то prompt показывает диалоговое окно со строкой ввода, куда пользователь может что-нибудь ввести.
В нашем примере пользователю предложено ввести свой самый любимый пароль. Если он таки лох, то он его введет и получит соответствующее сообщение. Так вот, чтобы этот пароль где-то сохранился и служит наша переменная password. Она занимает в памяти компьютера кусочек места, куда складывает данные.
Объявление переменных в JavaScript
Все переменные в JavaScript требуют своего объявления. То есть, вы выходите на балкон и со всей дури орете:
— Объявляю переменную x и жалую ей значение в 1000 пистолей!
var x = 1000;
Объявление переменной начинается со специального слова var. Можно объявить переменную и без этого слова, как мы сделали в примере в статье про функции JavaScript:
validation = true;
Но лучше этого не делать. Так можно было объявлять переменную раньше, но сегодня это уже считается моветоном и может привести к ошибкам.
Переменную можно объявлять и без присваивания какого-либо значения:
var x;
А необходимое значение вы зададите ей позже:
var x;
x = 1000;
Обратите внимание, что переменная объявляется только один раз. Не стоит лепить слово var повторно. Если вы уже объявили переменную, дальше просто используете ее имя.
Можно в одной инструкции объявить сразу несколько переменных. В этом случае переменные отделяются запятыми:
var x = 1000, y = 500, z = 100;
Для удобства такую инструкцию часто записывают в столбик:
var x = 1000,
y = 500,
z = 100;
Кроме того, в одной инструкции можно объявлять одновременно разные типы переменных. Например:
var days = 31,
month = "February",
february31 = false;
UPD 11.10.2021: В спецификации языка за номером ES2015 (ES6) были представлены новые операторы, используемые для объявления переменных — let и const. И если вы откроете свежую книгу Д. Флэнагана — «JavaScript. Полное руководство, 7-е издание», то не увидите никакого var, а сразу наткнетесь на let. Это может сбить с толку. Так что поищите в интернетах разницу между этими операторами. Например, здесь. Будет полезно.
Время жизни переменной в JavaScript
У переменных в JavaScript есть одна интересная особенность: они сохраняют свое значение лишь до тех пор, пока не будут перезаписаны заново. Рассмотрим пример:
var x = 1000;
var y = 500;
x = 1;
x = y;
Здесь мы сначала задали две переменные x и y со значениями 1000 и 500 соответственно. Затем мы поменяли значение переменной x на цифру 1. Таким образом, данные в этой переменной перезаписались. Было 1000, а стало 1. А после мы этой же переменной передали значение из переменной y, и теперь в ней сохранена цифра 500.
То есть, значения переменных можно менять по ходу работы программы. Заметьте так же, что в последнем случае мы переменной x присвоили не какое-то цифровое значение, а другую переменную. Так тоже можно и нужно делать, что весьма упрощает код программы.
Ключевые слова JavaScript
JavaScript имеет ряд зарезервированных ключевых слов, которые нельзя использовать в качестве имен функций и переменных. Список его все время пополняется. Здесь приведу лишь некоторые ключевые слова. Просто запомните, что их для имен использовать нельзя:
Правила написания переменных в JavaScript
Запомните, что ключевые слова всегда пишутся маленькими (строчными) буквами, а имена переменных и функций должны начинаться с буквы, знака подчеркивания _ или со знака доллара $. Нельзя начинать имя с цифры, т.к. JavaScript воспримет это как число, а не имя. Нельзя применять и другие знаки вроде %, & или # для имени.
В устоявшейся практике программисты используют для имен функций и переменных не просто набор дурацких символов типа $sdhweryt_27usdi или _s, но придают им некое, более или менее ясное значение: myHead, first_day, primer1 и т.п.
Если имя состоит более чем из одного слова, то обычно применяют так называемый верблюжий (горбатый) формат записи: myFirstDay. Обратите внимание, что первая буква строчная, а остальные слова начинаются с прописной. Похоже на профиль верблюда.
Это удобно на самом деле и позволяет не только самому не запутаться в собственном коде, но и другим программистам читать его гораздо легче.
Следует хорошенько запомнить, что имена переменных и функций в JavaScript чувствительны к регистру. Если в HTML тэги HEAD и head считаются идентичными, то в JavaScript все не так однозначно: переменные vasyaloh и VasyaLoh будут считаться разными переменными.
Глобальные и внутренние переменные в JavaScript
Переменные могут быть глобальными, а могут быть внутренними. Если переменная объявлена за пределами функции, то она глобальная и может быть использована в любом месте программы. Но если она объявлена внутри функции, то она будет доступна только в пределах этой функции.
В нашем первом примере переменная password является глобальной, т.к. не входит в состав какой-либо функции. А вот в примере ниже переменная validation находится в пределах функции и будет доступна только в ней:
<script>
function validate_form (){
var validation = true;
if ( document.contact_form.contact_mail.value == "")
{
alert( "Пожалуйста, заполните поле 'Ваш e-mail'." );
validation = false;
}
return validation;
}
</script>
Пожалуй, на сегодня хватит о переменных. В следующий раз поговорим про типы данных в JavaScript. Оставайтесь на связи!
Отличные уроки Игорь!С удовольствием читаю и повторяю азы! А тем, кто только начинает изучение, можно позавидовать — материал дается кратко, емко и интересно. Вот только на сколько вас хватит Игорь. Желаю вам и нам вашим читателям, чтобы вы продержались подольше, а потом все это издали книжкой, то-то она пойдет нарасхват. Спасибо!
Спасибо на добром слове, Дарья! Будем держаться. Надеюсь, хватит надолго :) Насчет книжки — отличная идея. Спасибо!
Спасибо что так толково все рассказываете и без лишней воды. Тоже хотел бы иметь вашу книгу.
Alexx, рад, что вам понравилось. Книга будет обязательно!
Единственный источник, который мотивирует изучать азы не в форме нудной теории, от которой слипаются глаза! Только не бросайте это дело :)
Спасибо за добрый отзыв! Не брошу :)