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

равняется 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 к концу

как самой строки, так и переменной, содержащей строку». Это касается

очень важного свойства переменных: в любом месте программы, где

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

переменную, в которой хранится число или строка.

Получение отдельного символа строки

Иногда требуется получить из строки одиночный символ. Например, вы

можете зашифровать в наборе слов тайное послание, состоящее из вто-

рых символов каждого слова. Тогда, чтобы узнать это послание, нужно