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



строка

Рис. 2.2. Использование slice для получения среза строки

Например:

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

Рис. 2.3. В нашем примере slice возвращает символы, обведенные серой рамкой

По сути, мы попросили JavaScript: «Вырежи из этой длинной строки

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

до позиции 18».

Если указать в скобках после slice только одно число, мы получим

строку-срез, которая начинается с данной позиции и длится до конца строки:

var longString = "Эта длинная строка такая длинная";

longString.slice(4);

"длинная строка такая длинная"

Перевод строки в заглавный или строчный регистр

Если нужно вывести какой-нибудь текст заглавными буквами, восполь-


To upper

зуйтесь toUpperCase.

case —

в верхний

регистр

"Эй, как дела?".toUpperCase();

"ЭЙ, КАК ДЕЛА?"

2. Типы данных и переменные 39

.toUpperCase() возвращает новую строку, все буквы в ко то рой —

заглавные.

To lower case —

Можно произвести и обратную операцию, использовав toLowerCase:

в нижний

регистр

"эЙ, кАК деЛа?".toLowerCase();

"эй, как дела?"

.toLowerCase() делает все символы строчными. Но ведь по прави-

лам предложение должно начинаться с заглавной буквы? Как сделать

первый символ строки заглавным, а остальные — строчными?

! Попробуйте сами разобраться, как с помощью только что изученных

команд превратить строку "эЙ, кАК деЛа?" в "Эй, как дела?" .

Если ничего не выходит, сверьтесь с разделами, где рассказывается

о получении символа строки и использовании slice . Когда закон-

чите, вернитесь к этому месту и сравните свое решение с моим.

Вот один из вариантов решения:

Silly string —

 var sillyString = "эЙ, кАК деЛа?";

буквально

 var lowerString = sillyString.toLowerCase();

«глупая

 var firstCharacter = lowerString[0];

строка»

 var firstCharacterUpper = firstCharacter.toUpperCase();

Lower string —

 var restOfString = lowerString.slice(1);

здесь «строка

 firstCharacterUpper + restOfString;

в нижнем

"Эй, как дела?"

регистре»

First character —