Синтаксис JavaScript Справочник JavaScript Коды клавиш Строгий режим

JavaScript: Строки

Значениями типа string являются текстовые строки. В JavaScript строка – это неизменяемая, упорядоченная последовательность 16-битных значений, каждое из которых представляет символ Unicode. Для представления символов Unicode в JavaScript используется кодировка UTF-16. Строки могут состоять из нуля и более символов. Символы включают в себя буквы, цифры, знаки пунктуации, специальные символы и пробелы. Строки должны быть заключены в двойные или одинарные кавычки (апострофы):

var myColor = "red";
var myColor = 'red';

Кавычки в начале и конце строки не должны различаться.

Строки, заключённые в двойные кавычки, могут содержать символы одиночных кавычек и наоборот:

"одинарные 'кавычки' внутри двойных"
'здесь "наоборот" '

Для того, чтобы в строке, заключённой в двойные кавычки, можно было использовать двойные кавычки, нужно их экранировать с помощью символа \ (обратный слэш), тоже самое касается и строки заключённой в одиночные кавычки:

"внутри используются \"двойные\" кавычки"
'внутри используются \'одиночные\' кавычки'

Большие строковые литералы в коде можно разбивать на несколько строк, заканчивая каждую строку, кроме последней символом обратного слэша:

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

Длина строки – это количество 16-битных значений (а не самих символов), содержащихся в ней. Для определения длины строки, используется свойство строки length:

var msg = "hello";
alert(msg.length);

Большинство наиболее часто используемых символов Unicode имеют кодовые пункты, умещающиеся в 16 бит, и могут быть представлены единственным элементом строки. Символы, кодовые пункты которых не умещаются в 16 бит, кодируются в соответствии с правилами кодировки UTF-16 как последовательности из двух 16-битных значений. Это означает, что строка, имеющая длину, равную 2 (два 16-битных значения), может представлять единственный символ:

var str1 = "a";
var str2 = "𝑒";

alert(str1.length);   // 1
alert(str2.length);   // 2

Нумерация 16-битных значений в строке начинается с нуля, т. е. первое 16-битное значение находится под индексом 0, второе – под индексом 1 и т. д. Индекс – это порядковый номер. К отдельным символам строки можно обращаться с помощью индексов, заключённых в квадратные скобки:

var msg = "hello";
alert(msg[1]);       // "e"

Чтобы с помощью индексов обратиться к символу, состоящему из двух 16-битных значений, нужно, используя конкатенацию, написать эти индексы так, чтобы в результате получилась последовательность из двух 16-битных значений:

var str = "𝑒";

document.write(str[0] + str[1]);   // "𝑒"

Так как строки в JavaScript неизменяемые, методы, используемые для работы со строками, возвращают новые строки, а не изменяют ту строку, относительно которой они были вызваны:

var str = "hello";

alert(str.toUpperCase());   // "HELLO" - новое возвращаемое методом значение
alert(str);                 // "hello" - первоначальная строка не изменена

Чтобы изменить строку, придётся заменить явно старое значение на новое:

var str = "Строка";
str = str.toUpperCase();   // Присваиваем изменённую строку
alert(str);                // "СТРОКА"

Конкатенация

Конкатенация - это объединение двух или более строк в одну большую. Объединение происходит с помощью оператора + (плюс). При конкатенации каждая последующая строка добавляется в конец предыдущей:

var str1 = "Hello ";
var str2 = "World!";

document.write(str1 + str2 + "<br>"); // "Hello World!"
document.write(str1 + "World!");
Попробовать »

Значение любого типа, которое объединяется со строкой, будет неявно (автоматически) преобразовано в строку и далее будет произведена конкатенация.

var str1 = "Hello ";

alert(str1 + 1);     // "Hello 1"
alert(true + str1);  // "trueHello"
alert(str1 + NaN);   // "Hello NaN"
Попробовать »

Управляющие последовательности

В строковых литералах можно использовать управляющие последовательности. Управляющая последовательность – это последовательность, состоящая из обычных символов, которая обозначает символ, не представимый внутри строки другими способами. Управляющие последовательности предназначены для форматирования вывода текстового содержимого. В таблице ниже представлены наиболее часто используемые управляющие последовательности:

Последовательность Значение
\0 Символ NUL – пустой символ ("\u0000").
\t Горизонтальная табуляция ("\u0009").
\n Перевод строки ("\u000A").
\b Возврат на одну позицию – то что происходит при нажатии на клавишу backspace ("\u0008").
\r Возврат каретки ("\u000D").
\f Перевод страницы – очистка страницы ("\u000C").
\v Вертикальная табуляция ("\u000B").
\" Двойная кавычка ("\u0022").
\' Одинарная кавычка ("\u0027").
\\ Обратный слэш ("\u005C").
\xNN Номер символа из набора символов ISO Latin-1, заданный двумя шестнадцатеричными цифрами (N – шестнадцатеричная цифра 0-F). Например, "\x41" (это код буквы "A").
\uNNNN Номер символа из набора символов Unicode, заданный четырьмя шестнадцатеричными цифрами (N – шестнадцатеричная цифра 0-F). Например, "\u0041" (это код буквы "A").

Управляющие последовательности могут находиться в любом месте строки:

alert("Греческая буква сигма: \u03a3.");

Если символ \ предшествует любому символу, отличному от приведённых в таблице, то он просто игнорируется интерпретатором:

var str = "\k";
alert(str);       // "k"

Символы Unicode, указываемые с помощью управляющей последовательности, можно использовать не только внутри строковых литералов, но и в идентификаторах:

var a\u03a3 = 5;
alert(a\u03a3);   // 5
    
Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011-2016 © puzzleweb.ru

Реклама на сайте | Обратная связь