В этой лекции я расскажу вам об объекте даты, о том, как ее создавать, и о библиотеке 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. Математических функций на самом деле значительно больше, и полный список вы можете получить, перейдя по ссылке, прикрепленной к документации. Там есть и другие функции для тригонометрии, другие функции для логарифмов и еще множество других. На этом все. Следующей темой, которую мы рассмотрим, будут регулярные выражения.