JavaScript для детей. Самоучитель по программированию



Pdf көрінісі
бет19/43
Дата20.07.2022
өлшемі6,41 Mb.
#37806
1   ...   15   16   17   18   19   20   21   22   ...   43

Часть I. Основы
При использовании 
= имя переменной должно стоять слева, а зна-
чение, которое вы хотите в эту переменную положить, справа. Однако 
=== служит лишь для проверки двух значений на равенство, поэтому 
неважно, какое значение с какой стороны стоит.
Представьте, что вы загадали своим друзьям Чико, Харпо и Граучо 
число, а именно число 5. Вы облегчили им задачу, сообщив, что это число 
от 1 до 9, и ваши друзья начали угадывать. Сначала присвоим перемен-
ной 
mySecretNumber значение 5. Первый из играющих, Чико, загады-
вает ответ 3, который мы кладем в переменную 
chicoGuess. Поглядим, 
что будет дальше:
var mySecretNumber = 5;
var chicoGuess = 3;
mySecretNumber === chicoGuess;
false
var harpoGuess = 7;
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 
ответит, что значения не равны. Однако при сравнении через 
== они ока-
жутся равными:
Чико, 
Харпо 
и Граучо
— 
псевдонимы 
троих 
из братьев 
Маркс, 
американских 
звезд немой 
комедии.
My secret 
number
— мое 
загаданное 
число
Chico 
guess
— 
догадка 
Чико (Харпо, 
Граучо)


2. Типы данных и переменные
47
var stringNumber = "5";
var actualNumber = 5;
stringNumber === actualNumber;
false
stringNumber == actualNumber;
true
Возможно, тут вы подумаете: «Похоже, двойное равно удобнее, чем 
тройное!» Однако будьте очень осторожны: двойное равно может вве-
сти вас в заблуждение. Например, как считаете, 0 равен 
false? А строка 
"false" значению false? При сравнении через двойное равно 0 оказы-
вается равным 
false, а строка "false" не равна false:
0 == false;
true
"false" == false;
false
Дело в том, что, сравнивая значения через двойное равно, JavaScript пер-
вым делом пытается преобразовать их к одному типу. В данном случае булево 
значение он преобразует в числовое — при этом 
false становится нулем, 
а 
true — единицей. Поэтому, сравнивая 0 == false, вы получите true!
Из-за всех этих странностей лучше пока пользуйтесь только опера-
тором 
===. 
ПОПР ОБУ ЙТЕ !
Вас попросили написать JavaScript-код для автоматической 
системы управления кинотеатром. Задача состоит в том, 
чтобы опре делить, пускать ли зрителя на фильм «с 12 лет 
и старше» или нет.
Правила таковы: если посетителю 12 лет или больше, 
он может проходить. Если ему еще не исполнилось 12, но его 
сопровождает взрослый, пусть тоже проходит. Во всех 
остальных случаях вход запрещен.
var age = 11;
var accompanied = true;
???
Допишите этот код, чтобы он определял, можно ли 11-летнему посетителю 
посмотреть фильм (возраст задается в переменной 
age, а переменная 
accompanied равна true, если посетитель пришел со взрослым). 
Попробуйте поменять эти значения (например, пусть в 
age будет число 12, 
а в 
accompanied — true) и убедитесь, что код по-прежнему находит 
верное решение.
String number
— 
здесь 
«строка-число»
Actual number
— 
число
Accompanied
— 
в сопровождении


undefined и null
И наконец, в JavaScript есть два особых значения, они называются 
undefi ned и null. Оба они означают «пусто», но смысл этого в обоих 
случаях немного различается.
JavaScript использует значение 
undefi ned, когда не может найти иного 
значения. Например, если, создав новую переменную, вы не присвоите ей 
значение с помощью оператора 
=, ее значением будет undefi ned:
var myVariable;
myVariable;
undefined
А значение 
null обычно используется, чтобы явно обозначить — 
«тут пусто». 
var myNullVariable = null;
myNullVariable;
null
Пока вы будете нечасто использовать 
undefi ned и null. Вы получите 
undefi ned, если создадите переменную и не присвоите ей значения, — 
JavaScript всегда возвращает 
undefi ned, когда значение не определено. 
Однако специально 
undefi ned обычно ничему не присваивают; если вам 
захочется обозначить, что в переменной «пусто», используйте для этого 
null.
Иначе говоря, 
null нужен, чтобы явно показать отсутствие значе-
ния, и порой это бывает полезно. Например, есть переменная, обозна-
чающая ваш любимый овощ. Если вы терпеть не можете все без исклю-
чения овощи, имеет смысл дать переменной «любимый овощ» значение 
null. 
Этим вы явно покажете любому, кто увидит ваш код, что у вас нет 
любимого овоща. Однако если в переменной будет 
undefi ned, кто-
нибудь может подумать, что вы просто еще не приписали ей значения.
Что мы узнали
Теперь вы знаете все базовые типы данных JavaScript — это числа, строки 
и булевы значения, — а также специальные значения 
null и undefi ned. 
Числа нужны для всего, что связано с математикой, строки — для работы 
с текстом, а булевы значения — для разрешения вопросов, на которые 
можно ответить «да» или «нет». Значения же 
null и undefi ned дают нам 
способ обозначать то, чего не существует.
В следующих двух главах мы поговорим о массивах и объектах — 
и то и другое представляет собой способ объединения простых типов 
данных в более сложные наборы значений.
My variable
— 
моя переменная
My null variable
— 
моя пустая 
переменная


49
3


Достарыңызбен бөлісу:
1   ...   15   16   17   18   19   20   21   22   ...   43




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет