Операции со строками в JavaScript могут быть следующими: объединение строк, обрезка, подсчёт символов, выбор определённого символа. Их вполне достаточно для создания сайтов. Попробуем их по порядку.
Объединение строк
С помощью знака "+" возможно объединять строки:
var a = 'Тише, мыши, ';
var b = 'кот на крыше';
console.log(a + b); // результат: 'Тише, мыши, кот на крыше'
Обратите внимание, что объединять можно не только строковые переменные. Можно объединить строку и число:
var a = 'У нас есть ';
var b = 8;
var c = ' кусочков сыра';
console.log(a + b + c); // результат: 'У нас есть 8 кусочков сыра'
Если вам понадобится вставить переменную внутри строки, то сделать это несколькими способами:
var a = 8;
var b = ' ';
b = 'У нас есть ' + a + ' кусочков сыра';
b = "У нас есть " + a + " кусочков сыра";
b = `У нас есть ${a} кусочков сыра`;
В обоих случаях переменная "b" примет одинаковые значения "У нас есть 8 кусочков сыра", но соединение строк сделано по разному и используются разные кавычки. В первом и втором случае соединяются две строки и одно число. А во третьем случае компилятор прочитает строку целиком и заменит значение переменно "a" на нужное. Обратите внимание на кавычки. В первом случае они одинарные, а во втором двойные. А в третьем они наклонные, которые указывают компилятору на то, что в строке содержится переменная. Если заменить их на одинарные, то результат будет не "У нас есть 8 кусочков сыра", а "У нас есть ${a} кусочков сыра". Как будто "${a}" - это кусок текста.
Обрезка строк
Функция
X.substr(Y, Z) обрезает строку X начиная с символа под номером Y и длиной в Z символов. Если Y положительный, то считается с начала строки, если отрицательный, то с конца. Если Z положительное, то результат будет содержать количество символов равной Z, иначе будет содержать пустую строку. Продемонстрируем работу этой функции на всех возможных примерах:
var text = 'Вкусный сыр';
var a = text.substr(1); // вернёт "кусный сыр"
var c = text.substr(2, 3); // вернёт "усн"
var d = text.substr(2, -1); // вернёт пустую строку
var b = text.substr(-1); // вернёт "р"
var f = text.substr(-2); // вернёт "ыр"
var g = text.substr(-3, 3); // вернёт "сыр"
var h = text.substr(-3, -2); // вернёт пустую строку
Количество вхождений в строку
Часто появляется задача определить есть ли в строке определённая подстрока. Для этого используется функция
X.indexOf( Y ), которая ищет подстроку Y в строке X. Это подстрока найдена, то возвращается позиция на которой находится подстрока или "-1", если нет вхождения.
var url = '/store/cheese/all/'; // адрес страницы
if( url.indexOf('/cheese/') != -1 ) { // находим подстроку
console.log('Попробуйте все виды сыра!'); // подстрока найдена
}else{
console.log('Магазин');
}
Функция indexOf нашла подстроку
'/cheese/' в значении переменной
url и вернула положение. В нашем случае получилась цифра "6". А условие
if( 6 != -1 ) является правдой, поэтому на экране браузера появится надпись:
Попробуйте все виды сыра!
Выбор определённого символа из строки
Для получения определённого символа в строке, существует функция
X.charAt( Y ), которая возвращает символ с позиции Y из строки X. Если поставить Y равным нулю, то вернётся первый символ строки. Так же к символам в строке можно обращаться через квадратные скобки, что сокращает запись:
var a = 'Вкусный сыр';
var b = a.charAt(0); // вернёт 'В'
var c = a[0]; // вернёт 'В'
var d = a[1]; // вернёт 'к'
var e = a[5]; // вернёт 'н'