Выбрать главу

Minutes

няется secondsInAMinute умножить на minutesInAHour. И нако-

in a hour —

нец в строке  введем secondsInAHour, что означает «покажи мне

минут в часе

содержимое переменной secondsInAHour», и JavaScript тут же выдаст

ответ: 3600.

var secondsInAMinute = 60;

var minutesInAnHour = 60;

var secondsInAnHour = secondsInAMinute * minutesInAnHour;

 secondsInAnHour;

3600

Сколько секунд в сутках

Теперь создадим переменную hoursInADay (количество

Hours in a day —

часов в сутках) и присвоим ей значение 24. Затем созда-

часов в день

дим переменную secondsInADay (количество секунд

в сутках), и пусть она равняется secondsInAHour умно-

жить на hoursInADay. Запросив в строке  значение

secondsInADay, получим 86 400 — именно столько

секунд в сутках.

2. Типы данных и переменные 31

var hoursInADay = 24;

var secondsInADay = secondsInAnHour * hoursInADay;

 secondsInADay;

86400

Сколько секунд в году

Days in a year —

И наконец, создадим переменные daysInAYear (количество дней в году)

дней в году

и secondsInAYear (количество секунд в году): daysInAYear присвоим

значение 365, а secondsInAYear пусть равняется secondsInADay

умножить на daysInAYear. Запрашиваем значение secondsInAYear

и видим, что это число 31 536 000 (более 31 миллиона секунд!).

var daysInAYear = 365;

var secondsInAYear = secondsInADay * daysInAYear;

secondsInAYear;

31536000

Возраст в секундах

Теперь, зная, сколько секунд в году, вы можете запросто узнать свой воз-

раст в секундах (с точностью до последнего дня рождения). К примеру,

когда я пишу эти строки, мне 29 лет:

var age = 29;

age * secondsInAYear;

914544000

Чтобы вычислить свой возраст в секундах, введите тот же самый код,

но замените значение переменной age на ваш возраст. Или просто заме-

ните эту переменную на число, соответствующее вашему возрасту:

29 * secondsInAYear;

914544000

Смотрите-ка, мне исполнилось больше 900 миллионов секунд!

А вам?

Инкремент и декремент

Вам как программисту понадобится увеличивать или уменьшать зна-

чения числовых переменных на единицу. Например, у вас в программе

может быть переменная для подсчета, сколько раз за день вам сказали

32 Часть I. Основы

«Дай пять!». И при каждом новом приветствии эту переменную надо

будет увеличить на 1.

Увеличение на 1 называют инкрементом, а уменьшение на 1 —

декрементом. Выполняются инкремент и декремент с помощью опера-

торов ++ и --.

var highFives = 0;

High fives —

++highFives;

дай пять!

1

++highFives;

2

--highFives;

1

После выполнения оператора ++ значение highFives (количество

приветствий) увеличится на 1, а после выполнения оператора -- умень-

шится на 1. Также эти операторы можно писать после имени перемен-

ной — эффект будет прежним, однако после выполнения такой команды

JavaScript вернет первоначальное значение переменной, каким оно было

до инкремента или декремента.

highFives = 0;

highFives++;

0

highFives++;

1

highFives;

2

В этом примере мы сначала обнулили значение highFives.

Команда highFives++ увеличивает переменную на 1,

но число, которое печатает после этого JavaScript, является зна-

чением до инкремента. Однако, запрашивая значение highFives

в самом конце (после двух инкрементов), мы получаем 2.

+= (плюс-равно) и –= (минус-равно)

Чтобы увеличить значение переменной на заданное число,

можно написать такой код:

var x = 10;

x = x + 5;

x;

15

2. Типы данных и переменные 33

Сначала мы создаем переменную x и даем ей значение 10. Затем при-

сваиваем x значение x + 5 — то есть используем старое значение x, чтобы

получить новое значение. Таким образом, выражение x = x + 5 по сути

означает «увеличить x на 5».

В арсенале JavaScript есть более простой способ увеличения или

уменьшения переменной на заданную величину: это операторы += и −=.

Пусть у нас есть переменная x, тогда команда x += 5 означает то же

самое, что и x = x + 5. Оператор −= работает аналогично, то есть x −= 9

соответствует x = x – 9 (уменьшить x на 9). С помощью этих операторов

можно, например, управлять подсчетом очков в игре:

var score = 10;

Score — счет

score += 7;

17

score -= 3;

14

В этом примере мы сначала присваиваем переменной score (счет

игры) начальное количество очков (10). Потом, победив монстра, мы

увеличиваем счет на 7 очков с помощью оператора += (score += 7 соот-

ветствует score = score + 7). Поскольку изначально в score было

число 10, а 10 + 7 = 17, этой командой мы установили счет в 17 очков.

После победы над монстром мы столкнулись с метеоритом, и счет

уменьшился на 3 очка. Опять же, score -= 3 это то же самое, что

и score = score - 3. Поскольку перед этим в score было 17, score - 3