равняется 14; это число и будет новым значением score.
ПОПР ОБУ ЙТЕ !
Есть и другие операторы, похожие на += и -=. Например, *= и /=. Как вы
думаете, для чего они? Опробуйте их в деле с воздушными шариками:
Balloon —
var balloons = 100;
воздушный
balloons *= 2;
шар
???
Что делает команда balloons *= 2? А теперь попробуйте такой код:
var balloons = 100;
balloons /= 4;
???
Что делает команда balloons /= 4?
34 Часть I. Основы
Строки
До сих пор мы имели дело только с числами. Пора познакомиться с еще
одним типом данных — со строками. В JavaScript (как и в большинстве
других языков программирования) строка является набором симво-
лов — букв, цифр, знаков пунктуации и пробелов. Чтобы JavaScript знал,
где начинается и заканчивается строка, ее берут в кавычки. Вот класси-
ческий пример с фразой «Привет, мир!»:
"Привет, мир!";
"Привет, мир!"
Чтобы создать строку, поставьте знак двойной кавычки ("), затем
введите какой-нибудь текст и закройте строку еще одной двой-
ной кавычкой. Можно пользоваться и одинарными кавычками ('),
однако, чтобы не путаться, все строки в этой книге будут в двойных
кавычках.
Строки можно хранить в переменных, так же как числа:
var myAwesomeString = "Что-то ОЧЕНЬ крутое!!!";
My awesome
string —
Моя крутая
строка
Также ничто не мешает присвоить строковое значение переменной,
где раньше хранилось число:
My thing —
var myThing = 5;
моя штука
myThing = "это строка";
"это строка"
А что если записать в кавычках число? Строка это будет или число?
В JavaScript строка остается строкой, даже если там хранятся цифровые
символы. Например:
Number nine —
var numberNine = 9;
номер девять
var stringNine = "9";
String nine —
строка девять
В переменной numberNine (число девять) хранится число, а в пере-
менной stringNine (строка девять) — строка. Чтобы выяснить, в чем их
различие, посмотрим, как они реагируют на сложение:
2. Типы данных и переменные 35
numberNine + numberNine;
18
stringNine + stringNine;
"99"
Сложив числовые значения 9 и 9, мы
получили 18. Однако при использовании опе-
ратора + со строками "9" и "9" эти строки
просто склеиваются воедино, образуя "99".
Объединение строк
Как мы только что убедились, оператор +
можно использовать и со строками, однако
действует он при этом совсем иначе, чем с числами. С помощью опе-
ратора + строки можно объединять: результатом будет новая строка,
состоящая из первой строки, к концу которой присоединена вторая:
Greeting —
var greeting = "Привет";
приветствие
var myName = "Ник";
greeting + myName;
My name —
"ПриветНик"
мое имя
Здесь мы создали две переменные (greeting и myName) и присвоили
каждой из них строковое значение ("Привет" и "Ник" соответственно).
При сложении этих переменных строки объединяются, образуя новую
строку — "ПриветНик".
Впрочем, не все тут идеально — между "Привет" и "Ник" должен
стоять пробел и запятая. JavaScript не ставит пробелов по собственной
инициативе, зато его можно попросить его об этом, добавив пробел
к одной из первоначальных строк:
var greeting = "Привет, ";
var myName = "Ник";
greeting + myName;
"Привет, Ник"
Дополнительный пробел перед закрывающей кавычкой в строке
дает пробел в середине результирующей строки.
Помимо их объединения, со строками можно выполнять множество
разных действий. Вот несколько примеров.
36 Часть I. Основы
Как узнать длину строки
Чтобы узнать длину строки, достаточно добавить к ее концу .length:
Length — длина
"Суперпупердлиннаястрока".length;
23
Можно добавлять .length к концу как самой строки, так и перемен-
ной, содержащей строку:
var java = "Java";
java.length;
4
var script = "Script";
script.length;
6
var javascript = java + script;
javascript.length;
10
Здесь мы присвоили строковое значение "Java" переменной java,
а значение "Script" — переменной script. Затем мы добавили
.length к концу каждой из переменных, узнав таким образом длины
отдельных строк, а также длину составленной из них новой строки.
Обратите внимание: я говорил «можно добавлять .length к концу
как самой строки, так и переменной, содержащей строку». Это касается
очень важного свойства переменных: в любом месте программы, где
допустимо использовать число или строку, можно также использовать
переменную, в которой хранится число или строка.
Получение отдельного символа строки
Иногда требуется получить из строки одиночный символ. Например, вы
можете зашифровать в наборе слов тайное послание, состоящее из вто-
рых символов каждого слова. Тогда, чтобы узнать это послание, нужно