Пример. Для запоминания количества денег, которые вам должен Василий, вы создаёте переменную. Затем, когда он выплачивает часть долга, вы даёте ей новое значение.
var vasyaDebt = 140;
vasyaDebt = vasyaDebt - 35;
console.log(vasyaDebt);
// → 105
Когда вы определяете переменную без присваивания ей значения, щупальцу не за что держаться, оно висит в воздухе. Если вы запросите значение пустой переменной, вы получите undefined
.
Одна инструкция var
может содержать несколько переменных. Определения нужно разделять запятыми.
var one = 1, two = 2;
console.log(one + two);
// → 3
Ключевые и зарезервированные слова
Слова со специальным смыслом, типа var
– ключевые. Их нельзя использовать как имена переменных. Также есть несколько слов, «зарезервированных для использования» в будущих версиях JavaScript. Их тоже нельзя использовать, хотя в некоторых средах исполнения это возможно. Полный их список достаточно большой.
break case catch continue debugger default delete do else false finally
for function if implements in instanceof interface let new null package
private protected public return static switch throw true try typeof var
void while with yield this
Не нужно их запоминать, но имейте в виду, что ошибка может крыться здесь, если ваши определения переменных не работают, как надо.
Коллекция переменных и их значений, которая существует в определённый момент, называется окружением. Когда программа запускается, окружение не пустое. Там всегда есть переменные, являющиеся частью программного стандарта, и большую часть времени там есть переменные, помогающие взаимодействовать с окружающей системой. К примеру, в браузере есть переменные и функции для изучения состояния загруженной веб-страницы и влияния на неё, для чтения ввода с мыши и клавиатуры.
Многие величины из стандартного окружения имеют тип function
(функция). Функция – отдельный кусочек программы, который можно использовать вместе с другими величинами. К примеру, в браузере переменная alert
содержит функцию, которая показывает небольшое окно с сообщением. Используют его так:
alert("С добрым утром!");
Выполнение функции называют вызовом. Вы можете вызвать функцию, записав скобки после выражения, которое возвращает значение функции. Обычно вы напрямую используете имя функции в качестве выражения. Величины, которые можно написать внутри скобок, передаются программному коду внутри функции. В примере, функция alert
использует данную ей строку для показа в диалоговом окне. Величины, передаваемые функциям, называются аргументами функций. Функция alert
требует один аргумент, но другие могут требовать разное количество аргументов разных типов.
Функция alert
может использоваться как средство вывода при экспериментах, но закрывать каждый раз это окно вам скоро надоест. В прошлых примерах мы использовали функцию console.log
для вывода значений. Большинство систем JavaScript (включая все современные браузеры и Node.js) предоставляют функцию console.log
, которая выводит величины на какое-либо устройство вывода. В браузерах это консоль JavaScript. Эта часть браузера обычно скрыта – большинство браузеров показывают её по нажатию F12, или Command-Option-I на Маке. Если это не сработало, поищите в меню “web console” или “developer tools”.
В примерах этой книги результаты вывода показаны в комментариях:
var x = 30;
console.log("the value of x is", x);
// → the value of x is 30
Хотя в именах переменных нельзя использовать точку – она, очевидно, содержится в названии console.log
. Это оттого, что console.log
– не простая переменная. Это выражение, возвращающее свойство log
переменной console
. Мы поговорим об этом в главе 4.
Показ диалогового окна или вывод текста на экран – это побочный эффект. Множество функций полезны оттого, что они производят эти эффекты. Функции также могут производить значения, и в этом случае им не нужен побочный эффект для того, чтобы быть полезной. К примеру, функция Math.max
принимает любое количество переменных и возвращает значение самой большой:
Читать дальше