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 к концу
как самой строки,
очень важного свойства переменных: в любом месте программы, где
допустимо использовать число или строку, можно также использовать
переменную, в которой хранится число или строка.
Получение отдельного символа строки
Иногда требуется получить из строки одиночный символ. Например, вы
можете зашифровать в наборе слов тайное послание, состоящее из вто-
рых символов каждого слова. Тогда, чтобы узнать это послание, нужно
получить все вторые символы и объединить их в новую строку.
Чтобы получить символ, стоящий в определенной позиции строки,
используйте квадратные скобки — []. Возьмите строку (или перемен-
ную, в которой хранится строка) и поставьте сразу после нее квадратные
скобки, в которых указана позиция нужного символа. Например, чтобы
получить первый символ строковой переменной myName, используйте
запись myName[0]:
2. Типы данных и переменные 37
var myName = "Ник";
myName[0];
"Н"
myName[1];
"и"
myName[2];
"к"
Обратите внимание — чтобы получить первый символ, мы указали
в скобках позицию 0, а не 1. Дело в том, что JavaScript (как и многие
другие языки программирования) ведет отсчет символов с нуля. Таким
образом, для получения первого символа строки указывайте позицию 0,
второго — 1 и т. д.
Попробуем разгадать наш тайный шифр, где во вторых буквах неко-
торого набора слов скрыто послание. Вот как это сделать:
Сode word —
var codeWord1 = "обернись";
кодовое
var codeWord2 = "неужели";
слово
var codeWord3 = "огурцы";
var codeWord4 = "липкие";
var codeWord5 = "?!";
codeWord1[1] + codeWord2[1] + codeWord3[1] + codeWord4[1] +
codeWord5[1];
"беги!"
!
И снова обращаю внимание — второй символ каждой строки мы
получаем, указав позицию 1.
Получение среза строки
Slice — часть
Чтобы получить часть, или «срез», строки, используйте slice. Например,
представьте, что вам нужен отрывок из длинного описания фильма для
анонса на вашем сайте. Чтобы воспользоваться slice, поставьте в конце
строки (или переменной, содержащей строку) точку, а после нее слово
slice и круглые скобки. В скобках укажите позицию первого символа
той части строки, которую вы хотите получить, затем запятую, а затем
позицию последнего символа. На рис. 2.2 показано, как использовать
slice.
38 Часть I. Основы
Эти два числа
задают начало и конец среза.
строка
Например:
Long string —
var longString = "Эта длинная строка такая длинная";
длинная
longString.slice(4, 18);
строка
"длинная строка"
Первое число в скобках — позиция символа, с которого начинается
срез, а второе число — позиция символа, который
символом среза. На рис. 2.3 показано, каким символам соответствуют эти
значения. Начальная (4) и конечная (18) позиции выделены синим цветом.
Э т а
д л и н н а я
с т р о к а
т а к а я
д л и н н а я
0 1 2 3
4
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
По сути, мы попросили JavaScript: «Вырежи из этой длинной строки
часть, которая начинается с символа в позиции 4 и продолжается
до позиции 18».
Если указать в скобках после slice только одно число, мы получим
строку-срез, которая начинается с данной позиции и длится до конца строки:
var longString = "Эта длинная строка такая длинная";
longString.slice(4);
"длинная строка такая длинная"
Перевод строки в заглавный или строчный регистр
Если нужно вывести какой-нибудь текст заглавными буквами, восполь-
To upper
зуйтесь toUpperCase.
case —
в верхний
регистр
"Эй, как дела?".toUpperCase();
"ЭЙ, КАК ДЕЛА?"
2. Типы данных и переменные 39
.toUpperCase() возвращает новую строку, все буквы в ко то рой —
заглавные.
To lower case —
Можно произвести и обратную операцию, использовав toLowerCase:
в нижний
регистр
"эЙ, кАК деЛа?".toLowerCase();
"эй, как дела?"
.toLowerCase() делает все символы строчными. Но ведь по прави-
лам предложение должно начинаться с заглавной буквы? Как сделать