JavaScript строки используются для хранения и манипулирования текстом.
JavaScript Строка
JavaScript строка - от нуля или более символов, записвать в кавычках.
var x = "Щипунов Андрей";
Попробуйте сами »
Вы можете использовать одинарные или двойные кавычки:
var carName1 = "Вольво XC60";
// Двойные кавычки
var carName2 = 'Вольво XC60'; // Одинарные кавычки
Попробуйте сами »
Вы можете использовать кавычки внутри строки, если они не соответствуют кавычкам, окружающим строку:
var answer1 = "Все' в порядке";
var answer2 = "Его зовут 'Андрей'";
var answer3 = 'Его зовут "Андрей"';
Попробуйте сами »
JavaScript Длина строки
Чтобы узнать длину строки, используйте встроенное length свойство:
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;
Попробуйте сами »
JavaScript Специальные символы
Поскольку строки должны быть записаны в кавычках, JavaScript неправильно поймет эту строку:
var x = "Мы так называемые "Викинги" с севера.";
Строка будет перерезана до "Мы так называемые".
Чтобы избежать этой проблемы, можно использовать escape - символ обратной косой черты.
Управляющий (\) символ с обратной косой чертой, превращает специальные символы в строковые символы:
| Код | Результат | Описание |
|---|---|---|
| \' | ' | Одиночная кавычка |
| \" | " | Двойная кавычка |
| \\ | \ | Обратная косая черта |
Последовательность escape \" вставляет двойные кавычки в строку:
var x = "Мы так называемые \"Викинги\" с севера.";
Попробуйте сами »
Последовательность escape \' вставляет одинарную кавычку в строку:
var x = 'Все\'в поряде.';
Попробуйте сами »
Последовательность escape \\ вставляет обратную косую черту в строку:
var x = "Символ \\ называется обратной косой чертой.";
Попробуйте сами »
В JavaScript действительны шесть других escape - последовательностей:
| Код | Результат |
|---|---|
| \b | Возврат |
| \f | Форма подачи |
| \n | Новая линия |
| \r | Возврат |
| \t | Горизонтальная табуляция |
| \v | Вертикальная табуляция |
Приведенные выше 6 escape - символов изначально были разработаны для управления пишущими машинками, телетайпами и факсами. Они не имеют смысла в HTML.
JavaScript Прерывание строки кода
Для лучшей читаемости программисты часто избегают строк кода длиннее 80 символов.
Если оператор JavaScript не помещается в одну строку, лучше всего его прервать после оператора:
document.getElementById("demo").innerHTML =
"Привет Андрей!";
Попробуйте сами »
Вы также можете разбить строку кода внутри текстовой строки с помощью одной обратной косой черты:
document.getElementById("demo").innerHTML =
"Привет \
Андрей!";
Попробуйте сами »
Этот \ метод не является предпочтительным.
У него может не быть универсальной поддержки.
Некоторые браузеры не допускают пробелов после \ символа.
Более безопасный способ разбить строку - использовать сложение строки:
document.getElementById("demo").innerHTML = "Привет " +
"Андрей!";
Попробуйте сами »
Вы не можете разбить строку кода обратной косой чертой:
document.getElementById("demo").innerHTML = \
"Привет Андрей!";
Попробуйте сами »
JavaScript Строки как объекты
Обычно JavaScript строки представляют собой примитивные значения, созданные из литералов:
var firstName = "Щипунов";
Но строки, также могут быть определены как объекты с ключевым словом new:
var
firstName = new
String("Щипунов");
var x = "Андрей";
var y = new String("Щипунов");
// typeof x вернет строку
// typeof y вернет объект
Попробуйте сами »
Не создавайте строки как объекты. Это замедляет скорость выполнения.
Ключевое слово new усложняет код. Это может привести к неожиданным результатам:
При использовании == оператора равные строки равны:
var x = "Андрей";
var y = new String("Щипунов");
// (x == y) false, потому что x и y имеют равные значения
Попробуйте сами »
При использовании === оператора равные строки не равны,
потому что === оператор ожидает равенства как по типу, так и по значению.
var x = "Андрей";
var y = new String("Щипунов");
// (x === y) false, потому что x и y имеют разные типы (string и object)
Попробуйте сами »
Или даже хуже. Невозможно сравнивать объекты:
var x = new String("Андрей");
var y = new String("Щипунов");
// (x == y) false, потому что x и y - разные объекты
Попробуйте сами »
var x = new String("Андрей");
var y = new String("Щипунов");
// (x === y) false, потому что x и y - разные объекты
Попробуйте сами »
Обратите внимание на разницу между (x==y) и (x===y).
Сравнение двух объектов JavaScript всегда возвращает false.