Великий Путь Вебмастера от идеи до интернет бизнеса
Блог Романа Чуешова
Начни зарабатывать в интернете на создании сайтов и блогов

Простое сложение в javascript: учимся складывать числа, строки и массивы

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

Давайте приступим!

Разберемся с терминами

В самом начале данной статьи я хочу, чтоб вы разобрали основные термины в языках программирования, связанные с вычислениями. Возможно, большинство из вас уже давненько оперирует ими. И это отлично.

Итак, стоит знать, что обозначают такие термины, как операнд, унарный и бинарный оператор.

Операндом называется тот элемент, к которому применяются некоторые операторы. Так, например, в записи «15 — 38» оператором выступает знак «минус», а операндами являются числа 15 и 38.

А что же такое унарный или бинарный оператор? Тут также все просто. Унарный (от слова «уно», что означает «один») применяется только к одному элементу. К примеру, -7. В этом случае «минус» — это унарный оператор. А бинарный (уже понятно, что означает «два») работает с двумя объектами. Здесь можно в качестве примера привести «12*701».

«У меня есть приоритеты! Поэтому плевал я на ваш порядок!»

Уверен, что всем известно о приоритетах выполнения арифметических операций. Однако с изучением языков программирования и конкретно JS в этот перечень добавляются и другие их виды. Всего существует 20 уровней, начиная с 0 и заканчивая 19.

В таблице, прикрепленной ниже, я перечислил несколько операторов в порядке их важности.

Размер приоритета Тип оператора Представление в коде
15 Логическое отрицание !X
Префиксный инкремент ++X
Префиксный декремент --X
14 Деление X/Y
Умножение X*Y
13 Вычитание X-Y
Сложение X+Y
10 Равенство X==Y
3 Присваивание X=Y

Если для решения какой-то задачи вам необходимо узнать и о других операторах, то перейдите на полную таблицу, представленную по [urlspan]ссылке[/urlspan].

Инкремент и декремент

Начнем разбор по приоритетам. Наиболее частыми операциями в JavaScript, как и в других языках программирования, являются названные в заголовке текущей главы. Их используют для уменьшения или увеличения значения конкретного элемента на единицу.

Существует два вида как инкремента, так и декремента: постфиксный и префиксный. При чем первый тип имеет приоритет 16, а второй – 15.

Разница их состоит в том, в какой момент идет изменение числа. Так, префиксные типы увеличивают или уменьшают значение сразу. Поэтому если в строке будет указано:

var k=1; alert (++k);

то при запуске программы отобразится 2. В то время как при использовании постфиксных операторов после запуска кода

var k=1; alert (k++);

выведется 1.

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

1
2
3
4
5
6
7
1  <script>
2    'use strict';
3    var i = 3;
4    i--;      // короткая и удобная запись для i = i - 1. 
5    alert(++i + i++); // i=?
6    alert(i);// i=?
7  </script>

А теперь давайте разберем. В четвертой строке указано уменьшение i на единицу. Изменения вступят в силу при выполнении следующей строки программы. Поэтому во время вызова alert переменная i будет равна 2.

Префиксный инкремент сразу увеличивает значение на 1, а постфиксный вступает в силу на следующей строке. В итоге получим запись «3+3», а значит и в диалоговом окне выведется 6.

На следующей строке увеличение сработало и поэтому отобразится 4.

Что-то новенькое при сложении элементов

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script>
function myFunction() {
   var a=3, b=7;
    var str1='Hi, ', str2='friend!';
 
    var c = a+b;
    var str = str1+str2;
    var mix = str1+a;
 
    alert(c+"\n"+str+"\n"+mix); 
//выведет: 10
//                Hi, friend!
//                Hi, 3
}
</script>

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

Допустим вы вытащили определенное значение, которое является строковым var str1='10'; и при этом вам его надо суммировать с числом var a=3;. Если будет произведена операция var mix = str1+a;, то при выводе alert (mix); на экране появится «103». Чтобы этого не было, текстовую переменную нужно конвертировать следующим образом:

var mix = parseInt (str1, 10)+a;. //ответ: 13

Перейдем к массивам. В скриптовом языке существует функция, которая объединяет несколько массивов в один. Это concat.

1
2
3
4
5
var numbers1 = [1, 1, 1];
var numbers2 = [2, 2, 2];
// получается массив [1, 1, 1, 2, 2, 2]; 
var nums = numbers1.concat(numbers2);
alert(nums);

Если же необходимо просуммировать все элементы массива, то здесь вас спасут только циклы.

1
2
3
4
var res=0;
for (var i=0; i<numbers1.length; i++)
   res+=numbers1[i]+numbers2[i];
alert(res); //ответ: 9

На этой ноте я заканчиваю свою статью. Буду раз видеть вас в подписчиках моего блога. Не забывайте рассказывать об этом сайте своим друзьям и делиться с ними интересными публикациями. До новых встреч! Пока-пока!

С уважением, Роман Чуешов

Прочитано: 2700 раз
Этот блог уже читают
читай и ты!
Оставить коментарий
:p :-p 8) 8-) :lol: =( :( :-( :8 ;) ;-) :(( :o: