• Страница 1 из 1
  • 1
Форум » I. JavaScript » Базовый JavaScript » Действия над числами и строками (Объединение строк и чисел)
Действия над числами и строками
1 Объединение строк (конкатенация)

Объединение строк производится путём операции +:

Код
var firstName = 'Иван';
var lastName = 'Петров';
var fullName = firstName + lastName;
document.write(fullName); // выведет на странице ИванПетров


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

Код
var fullName = firstName + ' ' + lastName;


пробел можно также добавить в одной из объединяемых строк:

Код
var firstName = 'Иван '; /* в строку добавили пробел */
var lastName = 'Петров';


или так:

Код
var firstName = 'Иван';
var lastName = ' Петров'; // в строку добавили пробел

Изменить / Удалить

2 Объединение чисел и строк

При объединении строки и числа происходит сначала преобразование числа в строку, а после этого конкатенация двух строк.
Пример:

Код
var message = 'Вы заходили к нам ';
var visits = 5;
var numVisits = message + visits;
document.write(numVisits + ' ' + 'раз');


В коде выше первоначально в переменной visits лежит значение 5 (число). При сложении двух переменных, message и visits, интерпретатор JavaScript видит, что присутствует строка и поэтому воспринимает знак плюс как объединение двух строк, поэтому переводит число 5 в строку ( то есть '5'), после чего результат объединения двух строк сохраняется в переменной numVisits: 'Вы заходили к нам 5 раз'

Так работает функция автоматического преобразования типов данных.

Данная функция не всегда полезна. Например, в переменной shoes (количество покупаемой обуви) мы сохраняем результат, введённый покупателем в форме интернет-магазина, если он в форме вводит, к примеру, число 2, то оно всё равно будет считаться строкой:

Код
var shoes = '2';


а в переменной socks лежит число 3, число пар носков, выдаваемых в подарок покупателю обуви

Код
var socks = 3;


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

Код
var totalItems = shoes + socks;


И на выходе получим не 2 + 3 = 5, а '2' + '3' = '23', поскольку число 3 преобразуется автоматически в строку и в итоге произойдёт слияние строк.

Чтобы этого не происходило, есть два способа:

1. добавить знак + без пробела перед строкой, содержащей число (чтобы преобразовать строку в числовое значение):

Код
var totalItems = +shoes + socks;


2. используя команду Number()

Код
var totalItems = Number(shoes) + socks;

Изменить / Удалить

Форум » I. JavaScript » Базовый JavaScript » Действия над числами и строками (Объединение строк и чисел)
  • Страница 1 из 1
  • 1
Поиск: