Читаем JavaScript для детей полностью

эти операции, показан на рис. 2.1. Сначала он умножает

1405 - 7.75

57 * 3, получая 171 (выделено красным). Затем делит 31 / 4,

получая 7.75 (выделено синим). Затем складывает 1234 + 171,

1397.25

получая 1405 (выделено зеленым). И наконец, вычитает

1405 − 7.75, что дает 1397.25 — окончательный результат.

Но как быть, если вы хотите выполнить сложение

Рис. 2.1. Очередность выполнения

и вычитание до умножения и деления? Для примера предпо-

операций: умножение, деление,

ложим, что у вас есть 1 брат, 3 сестры и 8 карамелек, которые

сложение, вычитание

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

вы решили поровну разделить между ними (свою долю вы уже прикарма-

нили). Нужно разделить 8 на общее количество братьев и сестер.

Попытаемся это сделать:

8 / 1 + 3;

11

Это не может быть верным ответом! Не получится дать

каждому родственнику по 11 карамелек, если у вас всего-то

8 конфет! Проблема в том, что JavaScript выполняет деление

прежде, чем сложение, то есть он делит 8 на 1 (что равно 8)

и затем прибавляет 3, получая в результате 11. Чтобы испра-

вить эту ошибку, заставим JavaScript сначала выполнить

сложение, воспользовавшись скобками:

8 / (1 + 3);

2

Так гораздо лучше — вышло по две карамельки каждому из род-

ственников. Скобки вынудили JavaScript сложить 1 и 3 до деления 8 на 4.

ПОПР ОБУ ЙТЕ !

Предположим, ваша подруга пытается подсчитать с помощью JavaScript,

сколько ей нужно купить воздушных шаров. Она устраивает вечеринку

и хочет, чтобы каждый из гостей смог надуть по 2 шарика. Сначала было

приглашено 15 человек, но потом ваша подруга позвала еще 9.

Она написала такой код:

15 + 9 * 2;

33

Однако ответ, судя по всему, неверен.

Где надо поставить скобки, чтобы JavaScript сначала складывал, а потом

умножал, и сколько шариков нужно вашей подруге на самом деле?

Переменные

Значениям в JavaScript можно давать имена, используя переменные.

Переменная похожа на ящичек, в который помещается лишь один пред-

мет. Чтобы положить туда что-то еще, прежнее содержимое придется

заменить.

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

после которого укажите имя переменной. Ключевое слово — это слово,

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

обладающее для JavaScript особым значением. В данном случае, когда

JavaScript встречает слово var, он понимает, что следом указано имя

новой переменной. Например, вот как создать переменную с именем nick:

var nick;

Undefined —

undefined

значение

не определено

Мы создали новую переменную под названием nick. В ответ консоль

выдала undefi ned — «значение не определено». Однако это не ошибка!

JavaScript всегда так делает, если команда не возвращает какого-либо

значения. Вы спросите, а что такое «возвращать значение»? Вот пример:

когда вы ввели 12345 + 56789;, консоль вернула значение 69134. Однако

в JavaScript команда создания переменной никакого значения не возвра-

щает, поэтому интерпретатор печатает undefi ned.

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

ные имена, потому что английский — основной язык всей IT-области

и программы принято писать только латиницей (кроме комментариев

и строковых значений). Использовать русскоязычные имена перемен-

ных — это как если при составлении математических уравнений вме-

сто x и y вы использовали бы русские буквы. Можно, но не принято.

Итак, чтобы задать переменной значение, используйте знак «равно»:

var age = 12;

Аge — возраст

undefined

Задание значения переменной называют присваиванием (здесь мы

присваиваем значение 12 переменной age). И опять в консоли появля-

ется undefi ned, поскольку мы только что создали новую переменную.

(В дальнейших примерах я буду пропускать это undefi ned.)

Теперь в интерпретаторе есть переменная age, которой присвоено

значение 12. И если ввести в консоли имя age, интерпретатор выдаст

значение этой переменной:

age;

12

Здорово! При этом значение переменной не высечено в камне ( пере-

менные потому так и зовутся, что могут менять значения), и, если вам

вздумается его обновить, просто используйте знак «равно» еще раз.

age = 13;

13

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

На этот раз я не использовал ключевое слово var, поскольку перемен-

ная age уже существует. Писать var нужно только при создании пере-

менной, а не при ее использовании. И обратите внимание: поскольку мы

не создавали новой переменной, команда присваивания вернула значе-

ние 13, которое и было напечатано в следующей строке.

Вот чуть более сложный пример — решение задачи про карамельки

без помощи скобок:

Number

var numberOfSiblings = 1 + 3;

of siblings —

var numberOfCandies = 8;

число братьев

numberOfCandies / numberOfSiblings;

и сестер

2

Number

of candies —

число конфет

Сначала мы создали переменную с именем numberOfSiblings

(количество братьев и сестер) и присвоили ей значение выражения

1 + 3 (которое JavaScript вычислил, получив 4). Потом мы создали

переменную numberOfCandies (количество карамелек) и присво-

или ей значение 8. И наконец, мы ввели: numberOfCandies / num-

berOfSiblings. Поскольку переменная numberOfCandies содержит

Перейти на страницу:

Похожие книги