САЙТ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ НА РУССКОМ ЯЗЫКЕ

JavaScript Строки



JavaScript строки используются для хранения и обработки текста.


JavaScript строки

Строки в JavaScript просто сохраняет последовательность символов, как "Андрей Щипунов".

Строкой может быть любой текст внутри кавычек. Вы можете использовать одинарные или двойные кавычки:

Пример

var carname = "Вольво XC60";
var carname = 'Вольво XC60';
Редактор кода »

Вы можете использовать кавычки внутри строки, пока они не будут соответствовать кавычкам вокруг строки:

Пример

var answer1 = "Его зовут 'Андрей'";
var answer2 = 'Его зовут "Андрей"';
Редактор кода »

Длина строк

Длина строки может находиться во встроенном свойсве length:

Пример

var txt = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
var sln = txt.length;
Редактор кода »

Специальные символы

Потому что, строки должны быть написаны в кавычках, JavaScript будет понимать строки:

var x = 'Они хороши!';
var y = "Мы так называемые "Викинги" с севера."

Строка будет разделена на "Мы так называемые".

Решение, чтобы избежать эту проблему, является использование \ специального символа.

Специальный символ, обратной косой черты, взвращает в строку:

Пример

var y = "Мы так называемые \"Викинги\" с севера."
Редактор кода »

Специальный символ \ также можно использовать для вставки специальных символов в строке.

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

Код Вывод
\' одинарные кавычки
\" двойные кавычки
\\ обратный слеш

Пять символов действительны в JavaScript:

Код Вывод
\b возврат на шаг
\r возврат каретки
\f форма подачи
\t горизонтальный табулятор
\v вертикальный табулятор

Выше в 5 символов изначально были предназначены для управления пишущие машинки, телетайпы, факсы. Они не имеют никакого смысла в HTML.


Разрыв длинных строк кода

Для лучшей читаемости программистам часто нравится избегать строк кода длиной более 80 символов.

Если инструкция JavaScript не помещается в одну строку, лучше всего разбить ее после оператора:

Пример

document.getElementById("demo").innerHTML =
"Привет Андрей!";
Редактор кода »

Также можно разбить строку кода внутри текстовой строки с одной обратной косой чертой:

Пример

document.getElementById("demo").innerHTML = "Привет \
Андрей!";
Редактор кода »

Данный \ метод не является предпочтительным методом. Может не иметь универсальной поддержки.
Некоторые браузеры не допускают пробелов из за \ символа.

Более безопасным способом разбиения строки является добавление строки:

Пример

document.getElementById("demo").innerHTML = "Привет" +
"Андрей!";
Редактор кода »

Невозможно разбить строку кода обратной косой чертой:

Пример

document.getElementById("demo").innerHTML = \
"Привет Андрей!";
Редактор кода »

Строки могут быть объектами

Обычно строки 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.


Проверьте себя с помощью упражнений!

Упражнение:

Используйте свойство length для оповещения о длине txt.

var txt = "Привет Мир!";
var x = ;
alert(x);

Начните упражнения