Пример 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Строки</title> </head> <body> <script> var imia = 'Иван', familia = 'Петров', vozrast = 40, stroka; // Объединение строк и числа stroka = imia + ' ' + familia + ': ' + vozrast; alert(stroka); // Выводится "Иван Петров: 40" </script> </body> </html> |
В данном примере переменной “stroka” присваивается объединение переменных (“imia”, “familia”, “vozrast”), содержащих строки и число, со строковыми значениями (” “, “: “). Объединение происходит через оператор “+”. При объединении числа со строкой число автоматически конвертируется в строку.
Пример 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Строки</title> </head> <body> <script> var stroka = 'автобус'; alert(stroka == 'автобус'); // Выводится true alert('автобус' > 'грузовик'); // Выводится false alert('грузовик' < 'трамвай'); // Выводится true </script> </body> </html> |
Операция “==” определяет равны ли строки слева и справа от неё.
Операции “>” и “<” позволяют определить больше или меньше строка, которая слева от операции, строки, которая справа. При сравнении строк в начале сравниваются первые символы. Если код первого символа первой строки больше кода первого символа второй, то первая строка считается больше второй. Если первые символы равны, то берутся вторые символы и их коды также сравниваются и так далее. Если при сравнении у одной строки символы заканчиваются, а у другой – нет, то другая считается больше.
Для строк операции сравнения действуют аналогично операциям сравнения чисел. Существуют следующие операции сравнения строк: равно “==”, не равно “!=”, меньше “<“, больше “>”, меньше или равно “<=”, больше или равно “>=”.
Пример 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Строки</title> </head> <body> <script> var stroka = '\'автобус\'\n\t\'грузовик\'\n\t\t\'трамвай\''; /* Выводится: 'автобус' 'грузовик' 'трамвай' */ alert(stroka); </script> </body> </html> |
В строке пара символов, первый из которых “\” – обратный слеш, трактуются как команды. Существуют следующие строковые команды:
Строковая команда | Описание |
---|---|
\n | Переход на следующую строку (Перевод строки) |
\t | Длинный пробел (Табуляция) |
\’ | Одинарная кавычка |
\” | Двойная кавычка |
\\ | Косая черта (Обратный слеш) |
Пример 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Строки</title> </head> <body> <script> var stroka = 'Привет!', p = 3, // позиция символа в строке c = stroka.charCodeAt(p); // код символа с позицией /* Выводится: Символ в позиции 3: "в" или "в" или "в", код символа: 1074 */ alert('Символ в позиции ' + p + ': "' + stroka[p] + '" или "' + stroka.charAt(p) + '" или "' + String.fromCharCode(c) + '", код символа: ' + c); </script> </body> </html> |
Строковые функции записываются через точку после переменной, содержащей строку. Например, “stroka.charAt(p)”.
Позиция символа в строке является целым числом и отсчитывается от 0 (0 – позиция первого символа). Чтобы получить символ по его позиции, можно записать переменную со строкой и в квадратных скобках указать позицию. Также можно использовать функцию “charAt()”, в скобках которой указать позицию. В данном примере символ в позиции “p” получается с помощью квадратных скобок “stroka[p]” и функции “stroka.charAt(p)”.
Каждый символ имеет свой код – число. В данном примере код символа присваивается переменной “c” с помощью функции “charCodeAt()”, в скобках которой указывается позиция символа. Потом с помощью функции “fromCharCode()” переменной “String” получается символ, код которого содержит переменная “c”.
Строковые функции
В примерах ниже используется переменная “stroka”, содержащая строку ” Привет! “.
Функция | Описание | Пример | Результат |
---|---|---|---|
length | Длина строки | stroka.length | 9 |
charAt(p) | Символ в позиции “p” | stroka.charAt(4) | “в” |
charCodeAt(p) | Код символа в позиции “p” | stroka.charCodeAt(4) | 1074 |
trim() | Удаляет пробелы в начале и в конце строки | stroka.trim() | “Привет!” |
includes(s) | “true”, если в строке содержится подстрока “s”, иначе “false” | stroka.includes(‘вет’) | true |
startsWith(s) | “true”, если строка начинается подстрокой “s”, иначе “false” | stroka.startsWith(‘ Пр’) | true |
endsWith(s) | “true”, если строка заканчивается подстрокой “s”, иначе “false” | stroka.endsWith(‘т! ‘) | true |
indexOf(s, p) | Позиция подстроки “s” в строке, начиная с позиции “p” и больше. Если строка не найдена, то -1 (минус один). Если позиция “p” не указана, то начиная с позиции 0. | stroka.indexOf(‘вет’, 1) | 4 |
lastIndexOf(s, p) | Позиция подстроки “s” в строке, начиная с позиции “p” и меньше. Если строка не найдена, то -1 (минус один). Если позиция “p” не указана, то начиная с позиции последнего символа. | stroka.lastIndexOf(‘вет’, 7) | 4 |
repeat(n) | Повтор строки “n” раз | stroka.repeat(3) | ” Привет!Привет!Привет! “ |
toLowerCase() | Перевод в нижний регистр (маленькие буквы) | stroka.toLowerCase() | ” привет! “ |
toUpperCase() | Перевод в верхний регистр (большие буквы) | stroka.toUpperCase() | ” ПРИВЕТ! “ |
substring(s, e) | Подстрока начиная с позиции “s” и кончая до позиции “e”, не включая её. Если “e” не указана, то до конца строки. | stroka.substring(4, 7) | “вет” |
replace(s1, s2) | Заменяет первую подстроку “s1” в строке на подстроку “s2” | stroka.replace(‘ривет’, ‘ока’) | ” Пока! “ |
replaceAll(s1, s2) | Заменяет все подстроки “s1” в строке на подстроки “s2” | stroka.repeat(3). replaceAll(‘ривет’, ‘ока’) | ” Пока! Пока! Пока! “ |