Объекты Math, Date, их свойства и методы
Math– встроенный объект, предоставляющий основные математические функции и константы.
Функции
Одна из самых частых операций с числом – округление:
Math.floor(arg)возвращает наибольшее целое, меньшее или равное аргументу;
Math.ceil()округляет вверх;
Math.round()округляет до ближайшего целого;
alert(Math.floor(3.1));// 3
alert(Math.ceil(3.1));// 4
alert(Math.round(3.1));// 3
Для округления до нужной цифры после запятой можно умножить и поделить на 10 с нужным количеством нулей. Например, округлим 3.456 до 2-го знака после запятой:
var n =3.456;alert(Math.round(n *100)/100);// 3.456 -> 345.6 -> 346 ->3.46Таким образом можно округлять число и вверх и вниз.
Встроенные функции для тригонометрических вычислений:
Math.sin(x)вычисляет синус x;
Math.cos(x)вычисляет косинус x;
Math.tan(x)возвращает тангенс x и др.
Функции общего назначения:
Math.sqrt(x) возвращает квадратный корень из x;
Math.log(x)возвращает натуральный (по основанию e) логарифм x;
Math.pow(arg1, arg2)возводит число arg1 в степень arg2: например, Math.pow(2,3) = 8. Работает в том числе с дробными и отрицательными степенями: Math.pow(4, -1/2) = 0.5.
Math.abs(x)возвращает абсолютное значение числа;
Math.exp(x)возвращает ex, где e – основание натуральных логарифмов;
Math.max(a, b, c...)возвращает наибольший из списка аргументов;
Math.min(a, b, c...)возвращает наименьший из списка аргументов;
Math.random()возвращает псевдослучайное число в интервале [0,1) – то есть между 0 (включительно) и 1 (не включая). Генератор случайных чисел инициализуется текущим временем.
Date
Дата измеряется в миллисекундах, начиная от полуночи 01 января 1970 года GMT+0. День содержит 86,400,000 миллисекунд.
Создание
dateObj = new Date() |
dateObj = new Date(dateVal) |
dateObj = new Date(year, month, date[, hours, minutes, seconds, ms] ) |
Возможные аргументы
DateVal
–если параметр является числовым, то он интерпретируется как количество миллисекунд от 1-Янв-1970 00:00;
– если задан строкой, то она разбивается и интерпретируется как дата по стандартным правилам Date.parse.
year–год в формате YYYY.
month –месяц от 0 (Янв) до 11 (Дек).
date –день месяца от 1 до 31.
hours –параметр должен быть указан, если указан параметр minutes. Устанавливает кол-во часов от 0 до 23.
minutes –параметр должен быть указан, если указан параметр seconds. Устанавливает количество минут: от 0 до 59.
seconds –параметр должен быть указан, если указан параметр ms. Устанавливает количество секунд: от 0 до 59.
мs –количество миллисекунд: от 0 до 999.
Если конструктор запущен без аргументов, то возвращается текущая дата.
Созданиетекущей даты:new Date()
var today= new Date() |
При вызове с одним аргументом - строкой, строка разбирается и интерпретируется как дата, так же, как и в методе Date.parse.
Пример: создать дату из строки
var date = new Date("21 May 1958 10:12") // используется редко |
При объявлении с несколькими аргументами, отсутствующие аргументы автоматически считаются равными 0.
Date.parse.Метод parse получает строку с датой (напр. "Jan 03, 2000") и возвращает целое число, представляющее собой количество миллисекунд, истекших с полуночи 1 января 1970 года GMT+0 до даты, указанной в параметре dateVal.
Это статический метод, который можно вызывать без создания объекта даты, поэтому для доступа к нему используется форма Date.parse, а не объект .parse.
var d = new Date(); | |
d.setTime(Date.parse("21 May 1958 10:12")); |
document.write(d.toLocaleString()); | |
// Выведет на экран следующий результат: | |
Wednesday, May 21, 1958 10:12:00 |
В случае, если метод parse не смог разобрать переданную ему в качестве параметра строку, он возвращает значение NaN.
Создание пользовательских объектов JavaScript. Добавление свойств и методов
Объект можно создать самостоятельно с помощью литерала объекта или оператора new с конструктором.
Литерал объекта – это заключённый в фигурные скобки список из нуля или более свойств (пар имя: значение), разделённых запятыми. Именем свойства может быть любой допустимый идентификатор, строковой литерал (допускается использовать пустую строку) или число. Числовые имена свойств автоматически преобразуются в строки. Значением свойства может быть значение любого типа или выражение (значением свойства в этом случае станет результат вычисления выражения):
// Создание пустого объекта
varo = {};
// Создание объекта с тремя свойствами
varuser = {
name: "Homer",
"age": 45,
True
};
Создание объекта с помощью оператора new:
varo = newObject();