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

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

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

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

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.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,...)
  • Вычислить длину окружности, имеющей радиус 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



   JavaScript и jQuery 0    2406 0

Комментарии (8)

  1. Евгений # 0
    Здравствуйте! можно ли сделать допустим число от 1 до 1000 генерировало случайным образом и каждые 2 минуты обновляло в фоновом режиме то есть работало как часы?
    1. Александр Мальцев # 0
      Конечно можно например вот так:
      // переменная, которая будет хранить случайное число
      var randomNumber;
      // запускаем выполнение функции каждые 2000мс, т.е. 2 сек.
      setInterval(function() { 
        // генерируем случайное число
        randomNumber = Math.floor(Math.random()*1000) + 1;
        //например, будем выводить это число в консоль
        console.log(randomNumber);
      }
      ,2000);
      
      1. Евгений # 0
        Спасибо за ответ но вы меня не поняли, мне нужно чтобы число не прибавлялось к числу а менялось на другое сгенерированное число.
        то есть допустим есть число 4783658 через каждые две секунды выводило другое число 478695 а старое удалялось и так далее, возможно такое?
        1. Александр Мальцев # 0
          А оно сейчас как? К чему оно прибавляется?
          Если Вам не нравится консоль, то можно вывести прямо на страницу, например в элемент 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>
          
          1. Евгений # 0
            Спасибо большое! как раз то что нужно.
    2. Роман # 0
      Спасибо большое, отличные уроки.
      Как захватить число введённое пользователем, принять его как «потолок» случайных чисел?
      1. Александр Мальцев # 0
        Спасибо.
        Можно сделать так:
        <!-- Элемент, содержащий число пользователя --> 
        <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. Roman # 0
        Хорошо, работает.
        Спасибо за ваше внимание.

        Вы должны авторизоваться, чтобы оставлять комментарии.