Основы JavaScript: Строки

Основы JavaScript: Строки

От автора: В JavaScript строкой считается любой текст, заключенный в одинарные или двойные кавычки, включая буквы, цифры и Юникод символы. В статье мы с вами познакомимся с работой со строками в JavaScript.

Итак, в JavaScript строкой считается любой текст, заключенный в одинарные или двойные кавычки, включая буквы, цифры и Юникод символы:

"Это строка"
'Это тоже строка'
"Вечно 21, тоже, является строкой"

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

'Так тоже "нормально"'

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

В остальных случаях кавычки и другие специальные символы внутри строк должны экранироваться с помощью обратного слеша (ниже примеры результата, который получается при экранировании):

\’ — одинарная кавычка

\» — двойная кавычка

\\ — обратный слеш

\n — новая строка

\r — возврат каретки

\t — таб

Например:

"Это текст \t с использованием знаков \t табуляции"

Поскольку строки могут содержать Юникод символы, по возможности следует использовать настоящие «умные» кавычки и апострофы:

var quote = "“Это цитата.”";

Индексирование строк

Как и в случае с массивами, считается, что первый символ строки находится на нулевой позиции, второй — на первой и т.д. Обратите внимание на то, что свойство length у строк учитывает каждый символ, включая пробелы, но не включая экранированные символы:

var nicchia = "Virginia Elisabetta Luisa Carlotta Antonietta Teresa Maria Oldoini";
nicchia.length
> 66

Существует много функций и методов, предназначенных для работы со строками, о которых я расскажу в следующих статьях.

Числа в качестве строк

Иногда вы будете получать число, которое JavaScript почему-то не будет воспринимать, как число. Хорошим примером этого служит HTML5 поле ввода типа number:

<label for="weight">Enter the weight of the package in kilos</label>
<input type="number" id="weight" min="1" max="10" value="0">

Если мы попробуем просто считать это значение в JavaScript и прибавить к нему единицу:

document.getElementById("weight");
weight.addEventListener("input", function(){
console.log(weight.value + 1);
})

… то результат, который мы получим в консоли при вводе единицы в поле ввода, будет равен не «2», а «11». Это вызвано проблемой с конкатенацией: метод value обрабатывает полученное из поля ввода значение не как число, а как строку. Существует два способа, как это исправить:

Использовать правильный метод для данного случая: weight.valueAsNumber, вместо weight.value. В результате мы получим настоящее число.

Оставить метод value, но привести полученное значение к нужному типу с помощью parseInt:

weight = document.getElementById("weight");
weight.addEventListener("input", function(){
console.log(parseInt(weight.value, 10) + 1);
})

Я расскажу более подробно о parseInt в одной из следующих статей.

Конвертирование чисел в строки

Иногда вам потребуется сделать обратное: сконвертировать число в строку. Если у меня есть переменная wonders:

var wonders = 7;

… Я могу превратить ее в строку, используя метод .toString():

var wonderString = wonders.toString();

… или добавив к ней пустую строку:

var wonderString = wonders + "";

Можно использовать оба способа, хотя второй может оказаться быстрее при работе с циклами (когда речь идет о миллионах операций).

Автор: Dudley Storey

Источник: http://demosthenes.info/

Редакция: Команда webformyself.

JavaScript&jQuery с нуля до профи

Пройдите пошаговый видеокурс по JavaScript&jQuery

Научиться

Метки:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree