Как сложить числа в js
Перейти к содержимому

Как сложить числа в js

Арифметика в Javascript

Арифметические операторы используются для выполнения арифметических операций с числами (константами или переменными):

Оператор Описание
+ Сложение
Вычитание
* Умножение
/ Деление
% Остаток от деления
++ Увеличение на 1
Уменьшение на 1

Арифметические операции

Типичная арифметическая операция осуществляется с двумя числами.

Этими числами могут быть константы:

Операторы и операнды

Числа в арифметической операции называют операндами.

Операция, совершаемая между двумя операндами, называется оператор.

Операнд Оператор Операнд
100 + 50

Оператор сложения (+) вычисляет сумму чисел:

Оператор вычитания (-) вычисляет разницу чисел:

Оператор умножения (*) перемножает числа:

Оператор деления (/) делит одно число на другое:

Оператор деления по модулю (%) возвращает остаток от деления двух чисел:

Оператор инкремента (++) увеличивает число на 1:

Оператор декремента (—) уменьшает число на 1:

Старшинство операторов

Старшинство операторов определяет порядок, в котором совершаются операции в арифметических выражениях.

Рассмотрим следующий пример:

Какой результат мы получим? Как при вычислении 150 * 3 или 100 + 150?

Что вычисляется первым — сложение или умножение?

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

Умножение (*) и деление (/) имеют более высокий приоритет, чем сложение (+) и вычитание (-).

И также как и в обычной математике старшинство можно изменить при помощи круглых скобок:

В этом случае первым вычисляется операция, расположенная внутри круглых скобок.

Если у нескольких операций одинаковое старшинство (как у сложения и вычитания), то они вычисляются слева направо:

Коэффициенты старшинства операторов в JavaScript:

Коэффициент Оператор Описание Пример
20 ( ) Группирование выражений (3 + 4)
19 . Член объекта person.name
19 [] Член объекта или массива person[«name»]
19 () Вызов функции myFunction()
19 new Создание объекта new Date()
17 ++ Постфиксный инкремент i++
17 Постфиксный декремент i—
16 ++ Префиксный инкремент ++i
16 Префиксный декремент —i
16 ! Логическое НЕ !(x==y)
15 typeof Тип typeof x
15 ** Возведение в степень 10 ** 2
14 * Умножение 10 * 5
14 / Деление 10 / 18
14 % Деление по модулю 10 % 5
13 + Сложение 10 + 5
13 Вычитание 10 — 8
12 << Сдвиг влево x << 2
12 >> Сдвиг вправо x >> 2
12 >>> Сдвиг вправо (без знака) x >>> 2
11 < Меньше чем x < y
11 <= Меньше или равно x <= y
11 > Больше чем x > y
11 >= Больше или равно x >= y
10 == Равенство x == y
10 === Строгое равенство x === y
10 != Неравенство x != y
10 !== Строгое неравенство x !== y
6 && Логическое И x && y
5 || Логическое ИЛИ x || y
3 = Присваивание x = y
3 += Присваивание x += y
3 -= Присваивание x -= y
3 *= Присваивание x *= y
3 %= Присваивание x %= y
3 <<= Присваивание x <<= y
3 >>= Присваивание x >>= y
3 >>>= Присваивание x >>>= y
3 &= Присваивание x &= y
3 ^= Присваивание x ^= y
3 |= Присваивание x |= y

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

Арифметические операции

Арифметические операции принимают в качестве операндов числовые значения (это может быть и литерал и переменная) и возвращают результат в виде одного числового значения. Стандартными арифметическими операциями являются сложение ( + ), вычитание ( — ), умножение ( * ) и деление ( / ).

Сложение (+)

Оператор сложения возвращает сумму числовых операндов или объединяет строки.

Синтаксис

Примеры

Вычитание (-)

Оператор вычитания вычитает один операнд из другого и возвращает разницу.

Синтаксис

Примеры

Деление (/)

Оператор деления производит деление его операндов, где левый операнд — делимый, а правый — делитель.

Синтаксис

Примеры

Умножение (*)

Оператор умножения возвращает произведение операндов.

Синтаксис

Примеры

Остаток от деления (%)

Оператор возвращает целый остаток от деления левого операнда на правый. Возвращаемое значение всегда получает знак делимого, а не делителя. Он использует встроенную функцию modulo , для получения результата, которая является целочисленным остатком деления var1 на var2 — например— var1 modulo var2 . Есть предложение добавить оператор modulo в будующие версии ECMAScript, с той разницей, что оператор будет брать делителя, а не делимого.

Синтаксис

Примеры

Возведение в степень (**)

Это экспериментальная технология, часть предложения Harmony (ECMAScript 7).
Поскольку спецификация этой технологии ещё не стабилизировалась, проверьте таблицу совместимости её использования в различных браузерах. Также обратите внимание, что синтаксис и поведение экспериментальной технологии могут быть изменены в будущих версиях браузеров в соответствии с изменениями в спецификации.

Оператор возведения в степень возвращает результат первого операнда в степень. это, var1 var2 , в предыдущем выражении, где var1 и var2 — переменные. Он право ассоциативен. a ** b ** c равно a ** (b ** c) .

Синтаксис

Замечания

Во многих языках, таких как PHP и Python и других, есть оператор возведения возведения в степень (обычно ^ или **), оператор определён имеющим приоритет выше, чем у унарных операторов, таких как унарный + и унарный -, но есть несколько исключений. Например, в Bash оператор ** создан имеющим приоритет ниже, чем у унарных операторов. В JavaScript невозможно написать двухсмысленное выражение, т.е. вы не можете ставить унарный оператор ( +/-/

/!/delete/void/typeof ) сразу после числа.

Примеры

Изменим знак результата возведения в степень:

Насильная установка основания как отрицательного числа:

Инкремент (++)

Операция инкремента возвращает операнд, увеличенный на единицу.

  • Если операция используется как постфикс, с оператором после операнда (например, x++), значение операнда возвращается, а затем увеличивается на единицу.
  • Если используется префиксная форма с оператором перед операндом (например, ++x), значение операнда возвращается увеличенным на единицу.

Синтаксис

Примеры

Декремент (—)

Операция декремента уменьшает на 1 (отнимает единицу) свой операнд и возвращает получившееся значение.

  • Если операция используется как постфикс (например, x—), значение операнда возвращается, а затем уменьшается на единицу.
  • Если используется префиксная форма (например, —x), значение операнда возвращается уменьшенным на единицу.

Синтаксис

Примеры

Унарный минус (-)

Унарный минус ставится перед своим операндом и возвращает его математическое отрицание.

Синтаксис

Примеры

Унарный плюс (+)

Оператор унарный плюс предшедствует своему операнду и оценивает его, пытается преобразовать его в число, если он не уже. Хотя, унарное отрицание (-) также конвертирует не числа, унарный плюс — быстрейший и предпочитаемый способ конвертирования чего-либо в число потому, что он не выполняет каких-либо операций с числом. Он может конвертировать строковые представления целых и чисел с плавающей точкой, а также нестроковые значения true , false и null . Поддерживаются числа в десичном и шестнадцатиричном (с префиксом «0x») формате. Отрицательные числа тоже поддерживаются (но не 16-ричные). Если он не может вычислить конкретное значение, выполнится как NaN.

4.1. Арифметические операции в JavaScript

Вы знакомы с арифметикой? Умеете складывать и вычитать числа? JavaScript тоже умеет складывать и вычитать. В JavaScript есть такие операторы: сложение +, вычитание -, деление /, умножение *, деление с возвратом остатка %.

Усложним пример 1

Усложним пример 2

И третий пример усложним

И даже так можно сделать

Но это ерунда, по сравнению с тем, что еще умеет JavaScript. Для этого есть стандартный объект Math с множеством свойств (свойства и есть операции, в данном контексте).

Как использовать объект Math?

В случае выхода из диапазона, потери значащих разрядов или деления на ноль, JavaScript не выдает ошибку. Если результат будет слишком большой и выйдет из диапазона, то будет возвращено специальное значение «бесконечность», выглядит оно так « Infinity ».

Потеря значащих разрядов: результат арифметической операции оказывается очень близким к нулю. Если все же потеря была, то будет возвращен 0 (ноль).

Глобальная переменная NaN означает «не число». Есть одна особенность у этой переменной, операция проверки на равенство (==) всегда возвращает отрицательный результат и даже если его сравнивать с самим собой.

Чтобы определить, является ли значение переменной x значением NaN, нужно использовать конструкцию, которая ниже. Эта проверка будет иметь значение true только тогда, когда x будет равен NaN

Дополнение: оформление кода

Допустим вам нужно вывести два числа 12 и 16 . Вероятно вы сделаете так:

А в ответ получите 1216 , то есть пробела между ними не будет. Встает вопрос: Как добавить пробел?

Как видите, нужно просто склеить переменную с пробелом (пробел между кавычек). Склеить строки, значит поставить между ними знак плюс (+)

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

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