JavaScript - Математические операции

Александр Мальцев
Александр Мальцев
12K
8
Содержание:
  1. Основные свойства объекта Math
  2. Основные методы объекта Math
  3. Примеры использования объекта Math
  4. Комментарии

На этом уроке мы познакомимся с объектом языка JavaScript Math, а также научимся его использовать на практике.

Объект Math состоит из свойств и методов. Свойства представляют собой математические константы π, e, ln10 и другие, которые можно использовать в вычислениях. Методы же объекта Math предназначены для выполнения различных математических операций над числами.

Создавать объекты Math с помощью оператора new не требуется. При этом для обращения ко всем методам и свойствам этого объекта производится через название класса.

Math.название_свойства_или_метода

Основные свойства объекта Math

  • Math.E – константа e;
  • Math.LN2 – Натуральный логарифм 2;
  • Math.LN10 – Натуральный логарифм 10;
  • Math.LOG2E – Натуральный логарифм числа e по основанию 2;
  • Math.LOG10E - Натуральный логарифм числа e по основанию 10;
  • Math.PI – константа π;
  • Math.SQRT1_2 – корень квадратный из ½;
  • Math.SQRT2 – корень квадратный из 2.

Основные методы объекта Math

  • Тригонометрические функции: Math.sin(параметр), Math.cos(параметр), Math.tan(параметр), Math.asin(параметр), Math.acos(параметр), Math.atan(параметр);
  • Модуль числа: Math.abs(параметр);
  • Преобразование дробных чисел в целые:
    • Math.ceil(параметр) – округление в большую сторону;
    • Math.floor(параметр) – округление в меньшую сторону;
    • Math.round(параметр) – математическое округление, т.е. когда дробная часть числа больше или равна 0.5, то оно округляется в большую сторону, а иначе в меньшую сторону;
    • Math.trunc(параметр) – отбрасывает дробную часть числа.
  • Вычисление ex: Math.exp(параметр);
  • Вычисление натурального логарифма числа, указанного в качестве параметра: Math.log(параметр);
  • Вычисление xy: Math.pow(x,y);
  • Вычисление корня квадратного из числа: Math.sqrt(параметр);
  • Определение знака числа: Math.sign(параметр);
  • Генерация случайного числа от 0 до 1: Math.random();
  • Возвращения максимального значения из чисел, указанных в качестве параметров: Math.max(параметр_1,параметр_2,...)
  • Возвращения минимального значения из чисел, указанных в качестве параметров: Math.min(параметр_1,параметр_2,...)

Примеры использования объекта Math

  • Вычислить длину окружности, имеющей радиус 50.

    var radius = 50;
    var lengthCircle = 2*Math.PI*radius;
    document.write("Длина окружности равна " + lengthCircle.toFixed(2));
    

    Пример на языке JavaScript

  • Найти максимальное число.

    var max = Math.max(-65,8,6,1,90,-4,2);
    document.write("Максимальное число равно " + max.toString());
    

    Пример на языке JavaScript

  • Вывести случайное число от 1 до 6.

    var numberRandom = Math.round((Math.random()*5+1));
    document.write("Случайное число равно " + numberRandom.toString());
    

    Пример на языке JavaScript

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

  1. Roman
    Roman
    2016-06-12 13:01:16
    Хорошо, работает.
    Спасибо за ваше внимание.
  1. Роман
    Роман
    2016-06-11 17:02:30
    Спасибо большое, отличные уроки.
    Как захватить число введённое пользователем, принять его как «потолок» случайных чисел?
    1. Александр Мальцев
      Александр Мальцев
      2016-06-12 00:13:18
      Спасибо.
      Можно сделать так:
      <!-- Элемент, содержащий число пользователя --> 
      <input type="text" id="numberUser">
      <!-- Информация о случайном числе -->
      <p>"Потолок" случайного числа: <span id="maxRandom"></span></p>
      <p>Случайное число: <span id="randomNumber"></span></p>
      <!-- Кнопка, выводящая случайное число -->
      <button id="randomButton">Выдать случайное число</button>
      
      <script>
      // после загрузки DOM дерева страницы
      document.addEventListener("DOMContentLoaded", function(){
        //получить элемент кнопку (randomButton)
        var randomButton = document.getElementById("randomButton");
        //при нажатию на кнопку выполнять следующее...
        document.addEventListener("click", function(){
          //получить число пользователя (потолок случайного числа)
          var numberUser = parseInt(document.getElementById("numberUser").value);
          //вывести потолок случайного числа
          document.getElementById("maxRandom").textContent=numberUser;
          // генерируем случайное число
          randomNumber = Math.round(Math.random()*numberUser);
          //вывести случайное число
          document.getElementById("randomNumber").textContent=randomNumber;
        });
      });
      </script>
      
  2. Евгений
    Евгений
    2016-02-18 16:13:08
    Здравствуйте! можно ли сделать допустим число от 1 до 1000 генерировало случайным образом и каждые 2 минуты обновляло в фоновом режиме то есть работало как часы?
    1. Александр Мальцев
      Александр Мальцев
      2016-02-21 02:33:43
      Конечно можно например вот так:
      // переменная, которая будет хранить случайное число
      var randomNumber;
      // запускаем выполнение функции каждые 2000мс, т.е. 2 сек.
      setInterval(function() { 
        // генерируем случайное число
        randomNumber = Math.floor(Math.random()*1000) + 1;
        //например, будем выводить это число в консоль
        console.log(randomNumber);
      }
      ,2000);
      
    2. Евгений
      Евгений
      2016-02-21 11:35:26
      Спасибо за ответ но вы меня не поняли, мне нужно чтобы число не прибавлялось к числу а менялось на другое сгенерированное число.
      то есть допустим есть число 4783658 через каждые две секунды выводило другое число 478695 а старое удалялось и так далее, возможно такое?
    3. Александр Мальцев
      Александр Мальцев
      2016-02-21 17:16:57
      А оно сейчас как? К чему оно прибавляется?
      Если Вам не нравится консоль, то можно вывести прямо на страницу, например в элемент p:
      <p id="random"></p>
      <script>
      window.onload=function() {
        // переменная, которая будет хранить случайное число
        var randomNumber;
        // запускаем выполнение функции каждые 2000мс, т.е. 2 сек.
        setInterval(function() { 
          // генерируем случайное число
          randomNumber = Math.floor(Math.random()*1000) + 1;
          // выводим число на страницу в элемент p
          document.getElementById('random').textContent = randomNumber;
        }
        ,2000);
      };
      </script>
      
    4. Евгений
      Евгений
      2016-02-22 10:58:11
      Спасибо большое! как раз то что нужно.