JavaScript Строки
Строки JavaScript используются для хранения текста и управления им.
Строки JavaScript
Строка JavaScript - от зеро или более символов, записанных в кавычках.
Вы можете использовать одинарные или двойные кавычки:
Пример
var carName1 = "Вольво XC60";
// Двойные кавычки
var carName2 = 'Вольво XC60'; // Одинарные кавычки
Попробуйте сами »
Вы можете использовать кавычки внутри строки, если они не соответствуют кавычкам, окружающим строку:
Пример
var answer1 = "Все' в порядке";
var answer2 = "Его фамилия 'Щипунов'";
var answer3 = 'Его фамилия "Щипунов"';
Попробуйте сами »
Длина строки
Чтобы узнать длину строки, используйте встроенное length свойство:
Специальные символы
Поскольку строки должны быть записаны в кавычках, JavaScript неправильно поймет эту строку:
var x = "Мы так называемые "Викинги" с севера.";
Строка будет перерезана до "Мы так называемые".
Чтобы избежать этой проблемы, можно использовать escape - символ обратной косой черты.
Управляющий (\) символ обратной косой черты, превращает специальные символы в строковые символы:
| Код | Результат | Описание |
|---|---|---|
| \' | ' | Одиночная кавычка |
| \" | " | Двойная кавычка |
| \\ | \ | Обратная косая черта |
Последовательность \" вставляет двойные кавычки в строку:
Последовательность \' вставляет одинарную кавычку в строку:
Последовательность \\ вставляет обратную косую черту в строку:
В JavaScript действительны шесть других escape - последовательностей:
| Код | Результат |
|---|---|
| \b | Возврат |
| \f | Форма подачи |
| \n | Новая линия |
| \r | Carriage возврат |
| \t | Горизонтальная табуляция |
| \v | Вертикальная табуляция |
Приведенные выше 6 escape - символов изначально были разработаны для управления пишущими машинками, телетайпами и факсами. Они не имеют смысла в HTML.
Прерывание длинных строк кода
Для лучшей читаемости программисты часто избегают строк кода длиннее 80 символов.
Если оператор 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) true, потому что 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.
