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

JS Учебник

JS Главная JS Введение JS Где установить? JS Вывод JS Заявления JS Синтаксис JS Комментарии JS Переменные JS Let JS Const JS Операторы JS Арифметика JS Присваивание JS Типы данных JS Функции JS Объекты JS События JS Строки JS Методы строк JS Поиск строк JS Шаблоны строк JS Числа JS Методы чисел JS Массивы JS Методы массива JS Сортировка массива JS Итерация массива JS Постоянный массив JS Даты JS Формат дат JS Методы получения дат JS Методы набора дат JS Объекты Math JS Случайные числа JS Булевы JS Сравнения JS Оператор If...Else JS Оператор Switch JS Цикл For JS Цикл For In JS Цикл For Of JS Цикл While JS Оператор Break JS Повторяющиеся JS Наборы JS Карты JS Typeof JS Преобразование JS Битовые JS Выражения JS Ошибки JS Область JS Подъемный JS Строгий JS Ключевое слово this JS Стрелки JS Классы JS JSON JS Отладчик JS Стиль JS Практика JS Ошибки JS Эффективность JS Слова

JS Версии

JS Версии JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE/Edge JS История

JS Объекты

Определение объекта Свойства объекта Методы объекта Отображение объекта Доступ объекта Конструкторы объекта Прототипы объекта Повторяющиеся объекты Набор объектов Карты объекта Справочник объектов

JS Функции

Определение функций Параметры функции Обращение к функции Вызов функции Применение функции Закрытие функции

JS Классы

Введение класса Наследование класса Статистический класс

JS Асинхронный

JS Обратный вызов JS Асинхронный JS Обещания JS Асинхронный

JS HTML DOM

DOM Введение DOM Методы DOM Документы DOM Элементы DOM HTML DOM Формы DOM CSS DOM Анимация DOM События DOM Прослушиватель DOM Навигация DOM Узлы DOM Коллекция DOM Список узлов

JS Браузер BOM

JS Window JS Экран JS Расположение JS История JS Навигатор JS Предупреждение JS Синхронизация JS Куки

JS Веб APIы

Веб API Введение Веб API История Веб API Хранилище Веб API Работник Веб API Извлечь Веб API Геолокации

JS AJAX

AJAX Введение AJAX XMLHttp AJAX Запрос на сервер AJAX Ответ с сервера AJAX Файл XML AJAX Файл PHP AJAX Файл ASP AJAX База данных AJAX Приложения AJAX Примеры

JS JSON

JSON Введение JSON Синтаксис JSON или XML JSON Типы данных JSON Парсинг JSON Строки JSON Объекты JSON Массивы JSON PHP JSON HTML JSON JSONP

JS или jQuery

jQuery Селекторы jQuery Элементы jQuery CSS jQuery DOM

JS Примеры

JS Примеры JS HTML DOM JS HTML Ввод JS HTML Объекты JS HTML События JS Браузер JS Редактор JS Упражнения JS Викторина JS Сертификат

JS Справочник

JavaScript Объекты HTML DOM Объекты


JavaScript Строки



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


Строки JavaScript

JavaScript строка - от зеро или более символов, записанных в кавычках.

Пример

var x = "Щипунов Андрей";
Попробуйте сами »

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

Пример

var carName1 = "Вольво XC60";  // Двойные кавычки
var carName2 = 'Вольво XC60';  // Одинарные кавычки
Попробуйте сами »

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

Пример

var answer1 = "Все' в порядке";
var answer2 = "Его зовут 'Андрей'";
var answer3 = 'Его зовут "Андрей"';
Попробуйте сами »

Длина строки

Чтобы узнать длину строки, используйте встроенное length свойство:

Пример

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;
Попробуйте сами »


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

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

var x = "Мы так называемые "Викинги" с севера.";

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

Чтобы избежать этой проблемы, можно использовать escape - символ обратной косой черты.

Управляющий (\) символ с обратной косой чертой, превращает специальные символы в строковые символы:

Код Результат Описание
\' ' Одиночная кавычка
\" " Двойная кавычка
\\ \ Обратная косая черта

Последовательность escape \" вставляет двойные кавычки в строку:

Пример

var x = "Мы так называемые \"Викинги\" с севера.";
Попробуйте сами »

Последовательность escape \' вставляет одинарную кавычку в строку:

Пример

var x = 'Все\'в поряде.';
Попробуйте сами »

Последовательность escape \\ вставляет обратную косую черту в строку:

Пример

var x = "Символ \\ называется обратной косой чертой.";
Попробуйте сами »

В JavaScript действительны шесть других escape - последовательностей:

Код Результат
\b Возврат
\f Форма подачи
\n Новая линия
\r Возврат
\t Горизонтальная табуляция
\v Вертикальная табуляция

Приведенные выше 6 escape - символов изначально были разработаны для управления пишущими машинками, телетайпами и факсами. Они не имеют смысла в 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) 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.


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

Упражнение:

Используйте length свойство, чтобы предупреждать о длине txt.

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

Упражнения