В этой лекции я расскажу вам об объекте даты, о том, как ее создавать,
и о библиотеке math для математических функций.
Начнем с даты.
При вызове конструктора new Date без аргументов
вы получаете объект даты с датой от текущего момента времени.
Если в качестве первого аргумента в конструктор передать строку,
то обработчик попытается преобразовать эту строку к дате.
Это удобно для тех случаев, когда вы получаете данные с сервера.
Если вы в качестве первого аргумента передадите целое число,
и это будет единственный аргумент, то мы будем воспринимать его,
как Unix timestamp от начала эпохи Unix.
Если целых чисел будет два и более,
то это будет, соответственно, год, месяц, день,
часы, минуты, секунды и милисекунды.
При этом все параметры, начиная с третьего, являются необязательными.
У любого объекта Даты существует метод valueOf,
который возвращает Unix timestamp от этого объекта.
Для получения Unix timestamp от текущего момента времени существует метод Date.now.
Я бы рекомендовал вам ознакомиться с документацией по объекту даты,
прикрепленной по ссылке.
Этот объект достаточно старый, он сделан на основе Java образца 1995 года,
и некоторые функции ведут себя не совсем предсказуемо.
Например, если передать в конструктор дни,
месяцы и годы, то вторым параметром вы передаете месяц,
начиная с 0, а третьим параметром вы передаете дни, начиная с 1.
И такого неоднозначного поведения там достаточно много.
Рекомендую ознакомиться с документацией, прежде чем пользоваться датами.
Теперь объект Math.
Он ведет себя значительно более предсказуемо.
Самая распространенная и часто используемая функция в нем — это
Math.random.
Она возвращает вам случайное число от 0 до 1.
Таким образом вы можете производить в вашем коде эксперименты и подбрасывать
монетку.
Функция min возвращает минимальное из значений,
которые были переданы в нее, их может быть два и более.
Функция max по аналогии возвращает максимальное значение.
Для округления в Javascript существует целых три различных функции.
Это функция round, она округляет число в большую сторону,
если десятичная часть более 0,5,
и в меньшую сторону, если она менее либо равна 0,5.
Функция Math.floor всегда округляет число в меньшую сторону.
Функция Math.ceil наоборот всегда округляет число в большую сторону.
Для получения натурального логарифма существует функция Math.log,
для возведения числа в степень — функция pow.
Первым аргументом вы передаете число, а вторым — степень,
в которую его нужно возвести.
Для вычисления синуса от угла существует функция sin,
а для вычисления тангенса — функция tan.
Математических функций на самом деле значительно больше, и полный список вы
можете получить, перейдя по ссылке, прикрепленной к документации.
Там есть и другие функции для тригонометрии,
другие функции для логарифмов и еще множество других.
На этом все.
Следующей темой, которую мы рассмотрим, будут регулярные выражения.