Ник Морган - JavaScript для детей. Самоучитель по программированию
- Название:JavaScript для детей. Самоучитель по программированию
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:2016
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Ник Морган - JavaScript для детей. Самоучитель по программированию краткое содержание
JavaScript для детей. Самоучитель по программированию - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Операторы дают больше возможностей, если использовать их совместно.
Допустим, вам нужно идти в школу, если сегодня не выходной, и вы при-
няли душ, и у вас с собой есть яблоко или апельсин. Вот как с помощью
JavaScript проверить, выполняются ли все эти условия:
var isWeekend = false;
var hadShower = true;
var hasApple = false;
2. Типы данных и переменные 43
var hasOrange = true;
Should go
var shouldGoToSchool = !isWeekend && hadShower && (hasApple ||
to school —
hasOrange);
нужно идти
shouldGoToSchool;
в школу
true
В данном случае сегодня не выходной, вы приняли душ, у вас нет
с собой яблока, зато есть апельсин — значит, нужно идти в школу.
Выражение hasApple || hasOrange записано в скобках, поскольку
нам важно убедиться, что эта проверка выполнена в первую очередь.
Точно так же как JavaScript выполняет умножение прежде сложения,
в логических выражениях он выполняет && прежде ||.
Сравнение чисел с помощью булевых значений
Булевы значения можно использовать для проверки чисел, если эта
проверка подразумевает простой ответ: да или нет. Например, пред-
ставьте, что вы работаете в парке развлечений, где один из аттрак-
ционов имеет ограничение: туда допускаются посетители ростом
не менее 150 см (иначе они могут вывалиться из кабинки!). Когда
кто-нибудь хочет прокатиться, он сообщает свой рост, и вам нужно
понять, больше названное число или меньше.
Больше
Чтобы узнать, больше ли одно число, чем другое, нужно использовать
оператор «больше» (>). Например, для проверки, что рост посети-
теля (155 см) больше, чем ограничение по росту (150 см), мы можем
задать переменной height (рост посетителя) значение 155, а пере-
менной heightRestriction (ограничение по росту) значение 150,
а затем использовать оператор > для сравнения двух переменных:
var height = 155;
Height —
var heightRestriction = 150;
высота
height > heightRestriction;
Height
true
restriction —
ограничение
по росту
Введя height > heightRestriction, мы просим JavaScript показать
нам, больше ли первое значение, чем второе, или нет. В данном случае
посетитель достаточно высок!
Но что если рост посетителя в точности равен 150 см?
var height = 150;
var heightRestriction = 150;
height > heightRestriction;
false
44 Часть I. Основы
Нет, посетитель недостаточно высок! Хотя если ограничение
по росту — 150 см, наверное, стоит пускать и тех, чей рост в точности
равен 150 см? Это нужно исправить. К счастью, в JavaScript есть еще
один оператор, >=, что означает «больше или равно».
var height = 150;
var heightRestriction = 150;
height >= heightRestriction;
true
Ну вот, теперь лучше — 150 удовлетворяет условию «больше или
равно 150».
Меньше
Оператор, противоположный «больше» (>), зовется оператором «меньше» (<).
Он пригодится, если аттракцион предназначен только для маленьких
детей. Например, пусть рост посетителя равен 150 см, но по правилам
аттракциона на него допускаются посетители ростом не более 120 см:
var height = 150;
var heightRestriction = 120;
height < heightRestriction;
false
Мы хотим убедиться, что рост посетителя меньше ограничения,
и поэтому используем <. Поскольку 150 не меньше 120, ответом будет
false (человек ростом 150 см слишком высок для этого аттракциона).
И, как вы, наверное, уже догадались, есть оператор <=, что означает
«меньше или равно».
var height = 120;
var heightRestriction = 120;
height <= heightRestriction;
true
Посетителю, рост которого равен 120 см, вход все еще разрешен.
Равно
Чтобы проверить два числа на точное равенство, используйте тройной знак
равенства (===) — это оператор «равно». Будьте осторожны, не путайте ===
с одиночным знаком равенства (=), поскольку === означает «равны ли эти
два числа?», а = означает «положить значение справа в переменную слева».
Иначе говоря, === задает вопрос, а = присваивает переменной значение.
2. Типы данных и переменные 45
При использовании = имя переменной должно стоять слева, а зна-
чение, которое вы хотите в эту переменную положить, справа. Однако
=== служит лишь для проверки двух значений на равенство, поэтому
неважно, какое значение с какой стороны стоит.
Чико,
Харпо
Представьте, что вы загадали своим друзьям Чико, Харпо и Граучо
и Граучо —
число, а именно число 5. Вы облегчили им задачу, сообщив, что это число
псевдонимы
от 1 до 9, и ваши друзья начали угадывать. Сначала присвоим перемен-
троих
ной mySecretNumber значение 5. Первый из играющих, Чико, загады-
из братьев
Маркс,
вает ответ 3, который мы кладем в переменную chicoGuess. Поглядим,
американских
что будет дальше:
звезд немой
комедии.
var mySecretNumber = 5;
My secret
var chicoGuess = 3;
number — мое
mySecretNumber === chicoGuess;
загаданное
false
число
var harpoGuess = 7;
Chico
guess —
mySecretNumber === harpoGuess;
догадка
false
Чико (Харпо,
var grouchoGuess = 5;
Граучо)
mySecretNumber === grouchoGuess;
true
Число, которое вы загадали, находится в переменной mySecretNumber.
Переменные chicoGuess, harpoGuess и grouchoGuess соответствуют
предположениям ваших друзей. Далее с помощью оператора === можно
проверить, равен ли какой-нибудь ответ вашему числу. Третий друг,
Граучо, назвал 5 и победил.
Сравнивая два числа с помощью ===, вы получаете true, только
когда оба числа совпадают. Поскольку в grouchoGuess находится значе-
ние 5, а mySecretNumber также равно 5, выражение mySecretNumber
=== grouchoGuess вернет true. Другие варианты ответа не совпадают
с mySecretNumber, поэтому сравнение с ними даст false.
Также с помощью === можно сравнить две строки или два буле-
вых значения. Если же сравнивать так значения разных типов, ответом
всегда будет false.
Двойной знак равенства
Еще немного запутаю вас: в JavaScript есть еще один оператор срав-
нения (двойное равно, ==), который означает «практически равно».
Используйте его для проверки двух значений на соответствие друг другу,
даже если одно из них строка, а другое — число. Все значения принадле-
жат к тому или иному типу, так что число 5 отличается от строки «5»,
хоть они и выглядят похоже. Если сравнить их с помощью ===, JavaScript
ответит, что значения не равны. Однако при сравнении через == они ока-
жутся равными:
46 Часть I. Основы
var stringNumber = "5";
String number —
здесь
var actualNumber = 5;
«строка-число»
stringNumber === actualNumber;
false
Actual number —
stringNumber == actualNumber;
число
true
Возможно, тут вы подумаете: «Похоже, двойное равно удобнее, чем
тройное!» Однако будьте очень осторожны: двойное равно может вве-
сти вас в заблуждение. Например, как считаете, 0 равен false? А строка
"false" значению false? При сравнении через двойное равно 0 оказы-
вается равным false, а строка "false" не равна false:
0 == false;
true
"false" == false;
false
Дело в том, что, сравнивая значения через двойное равно, JavaScript пер-
вым делом пытается преобразовать их к одному типу. В данном случае булево
Читать дальшеИнтервал:
Закладка: