Посмотреть все уроки курса
Выбрать другой урок из курса
Поиск по сайту
Теория урока

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

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

Пример 1
var one = 121;
var two = 13;
alert(one + two);
alert(one - two);
alert(one * two);
alert(one / two);
alert(one % two);

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

Пример 2
var answer = ((121 - 12) * 103) + 200;
alert(answer);

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

Пример 3
var PI = 3.14;
var answer = ((121 - 12) * 103) + PI;
alert(answer);

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

Пример 4
var PI = 3.14;
var answer = ((121 - 12) * 103) + PI;
var answerEnd = (2 * answer * PI) + (-100);
alert(answerEnd);

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

Пример 5
var answer = 101 + (-(-100));
alert(answer);

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

Пример 6
Math.pow(2, 53)     /* -> 2 в степени 53 */
Math.round(0.6) /* -> 1.0 - округление до ближайшего целого */
Math.ceil(0.6) /* -> 1.0 - округление вверх */
Math.floor(0.6) /* -> 0.0 - округление вниз */
Math.abs(-5) /* -> 5 - модуль, абсолютное значение */
Math.max(x, y, z) /* -> Возвращает наибольший аргумент */
Math.min(x, y, z) /* -> Возвращает наименьший аргумент */
Math.random(); /* -> Где число на выходи больше 0, но меньше 1 */
Math.PI /* -> Число Пи */
Math.E /* -> Основание натурального логарифма */
Math.sqrt(3) /* -> Корень квадратный из 3 */
Math.pow(3, 1/3) /* -> Корень кубический из 3 */
Math.sin(0) /* -> Тригонометрия: имеются так же Math.cos, Math.atan и другие */
Math.log(10) /* -> Натуральный логарифм 10 */
Math.log(100) / Math.LN10 /* -> Логарифм 100 по основанию 10 */
Math.log(512) / Math.LN2 /* -> Логарифм 512 по основанию 2 */
Math.exp(3) /* -> Math.E в кубе */

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

Пример 7
/* Первый пример */
var twoInPow = Math.pow(2, 53);
alert(twoInPow);
/* Второй пример */
var valueRaund = 0.1312;
var answerRaunt = Math.round(valueRaund);
alert(answerRaunt);
/* Третий пример */
var valueRaund = 0.1312;
alert(Math.round(valueRaund));
/* Четвертый пример: поиск наибольшего из трех чисел */
var a = 12, b = 11, c = 10;
alert(Math.max(a, b, c));

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

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

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

Пример 8
/* Так писать нельзя */
if (x == NaN) { ... }

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

Пример 9
/* Так можно */
if (x != x) { ... }

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

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

Пример 10
var one = 12, two = 16;
document.write(one);
document.write(two);

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

Пример 11
/* Первый способ решения */
var one = 12, two = 16;
document.write(one + " ");
document.write(two);
/* Второй, более компактный */
var one = 12, two = 16;
document.write(one + " " + two);

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

Пример 12
document.write("Строка 1" + "Строка 2");
document.write("Строка 1" + " " + "Строка 2");

Похожие уроки и записи блога

Модули в PythonЗнакомство с Python
Обработка исключений (try/except) в PythonЗнакомство с Python
Типы данных в PythonЗнакомство с Python
Первое знакомство с PythonЗнакомство с Python
Написание модулей в PythonЗнакомство с Python
Функциональное программирование: map, filter и reduceЗнакомство с Python
Структуры данных в PythonЗнакомство с Python
Управляющие последовательности в JavaScriptТипы и переменные
Погружение в PythonЗнакомство с Python
<
×
>
Впервые на сайте Codebra?

Извините за это всплывающее окно, меня они тоже раздражают.

Образовательный ресурс codebra.ru полностью посвящен программированию. Все курсы и уроки находятся на главной странице. Ради интереса можете посмотреть на содержимое курсов по Python, HTML и CSS, JavaScript, C++ и другие, размещенные на главной странице.

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

Удачи в обучении!

Закрыть окно