Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Статические методы объекта Date()



В объекте Date() определено множество методов для экземпляров. Кроме них, имеется два статических метода, вызывающихся не через отдельные объекты, а через сам конструктор Date():

Dаtе.UTС() // метод возвращает в миллисекундном представлении указанную дату и время в универсальном времени UTC.

Date.parse() // производит анализ строкового представления даты и времени, возвращает внутреннее представление указанной даты в миллисекундном представлении.

Методы объекта Date()

В объекте Date() не определены свойства, доступные для чтения или записи. Доступ к значениям даты и времени осуществляется через методы объекта.

У объекта Date() большинство методов определены в двух формах: для работы с локальным временем и для работы с универсальным временем (GMT или UTC).

Стандарт языка требует, чтобы объект даты и времени был способен представить любые дату и время с точностью до миллисекунды в пределах 100 млн. дней до и после 01 января 1970 года. Это диапазон от -273785 до +273785 лет, поэтому часы в JavaScript до 275755 года будут работать правильно.

Пример.

Определим разницу между двумя временными метками, например, сколько времени осталось до Рождества в текущем году. Для этого будем использовать миллисекундное представление двух временных отметок. < script>

tоdау = nеw Dаtе(); // Считываем текущую дату

сhristmаs=nеw Dаtе (); //Считываем текущую дату в другую переменную

сhristmаs.sеtMоnth(11); /* Устанавливаем во второй переменной декабрь в качестве месяца */

сhristmаs.sеtDаtе(25); // Устанавливаем 25 день месяца

/*В том случае, если Рождество в текущем году еще не наступило, считаем количество миллисекунд между текущим временем и датой Рождества, вычисляем число дней в в этой разнице и выводим сообщение*/

if (tоdау.gеtTimе() < сhristmаs.gеtTimе()) {

diffеrenсе = сhristmаs.gеtTimе()- tоdау.gеtTimе();

diffеrenсе = Mаth.flооr(diffеrenсе / (1000 * 60 * 60 * 24));

dосument.writе('< р> До Рождества осталось всего ' + diffеrеnсе + ' дней! < /р> '); }

< /script>

В таблице 8 приведен список методов, определенных для объекта Date().

Таблица 8 – Список методов объекта Date()

 

 

Метод Синтаксис Возвращаемое значение
Date.getDate() дата.getDate() день месяца в локальном времени. Возвращаются значения в промежутке от 1 до 31.
Date.getDay() дата.getDay() День недели, соответствующий локальному времени. Возвращается число: 0 соответствует воскресенью, …, 6 - субботе.
Date.getFullYear() дата.getFullYear() Год, дата указана в локальном времени. Возвращает четыре цифры года.
Date.getHours() дата.getHours() Значение числа часов по локальному времени. Возвращает значение в диапазоне от 0 до 23.
Date.getMilliseconds() дата.getMilliseconds() Поле миллисекунд в локальном времени.
Date.getMinutes() дата.getMinutes() Поле минут по локальному времени. Возвращается значение от 0 до 59.
Date.getMonth() дата.getMonth() Поле месяца в локальном времени. Возвращается значение от 0 (январь) до 11 (декабрь).
Date.getSeconds() дата.getSeconds() Поле секунд в аргументе дата в локальном времени. Возвращает значение от 0 до 59.
Date.getTime() дата.getTime() Число миллисекунд между полночью 01.01.1970 и указанной объектом датой/временем. Дата и время методом getTime() преобразуются в единое целое значение. Миллисекундное представление даты не зависит от часового пояса, поэтому метод getUTCTime() отсутствует.
Date.getTimezoneOffset() дата.getTimezoneOffset() Разница в минутах между локальным временем и временем по Гринвичу (GMT).
Date.getUTCDate() дата.getUTCDate() Число от 1 и 31 - день месяца при вычислении даты в универсальном времени.
Date.getUTCDay()   дата.getUTCDay() Число от 0 (воскресенье) до 6 (суббота) - день недели, получаемый при выражении даты в универсальном времени.
Date.getUTCFullYear() дата.getUTCFullYear() Четырехзначный номер года, получаемый при выражении даты в универсальном времени.
Date.getUTCHours() дата.getUTCHours() Целое число от 0 (полночь) до 23 - поле часов даты, вычисленной в универсальном времени.
Date.getUTCMilliseconds() дата.getUTCMilliseconds() Поле миллисекунд даты, выраженной по универсальному времени.
Date.getUTCMinutes() дата.getUTCMinutes() Целое число от 0 до 59 - поле минут даты в универсальном времени.
Date.getUTCMonth()   дата.getUTCMonth() Целое число от 0 (январь) до 11 (декабрь) - месяц года при вычислении даты в универсальном времени.
Date.getUTCSeconds() дата.getUTCSeconds() Целое число от 0 до 59 - поле секунд даты по универсальному времени.
Date.getYear() Устарел в ECMAScript v3 дата.getYear() Целое число значения года для указанного аргумента даты минус 1900. Вместо него рекомендуется использовать метод getFullYear().
Date.parse() Date.parse(дата) Количество миллисекунд между указанными датой/временем и полуночью 01.01.1970 года по Гринвичу. Метод принимает строку, анализирует содержащуюся в строке дату и возвращает ее в виде числа миллисекунд, которое может быть использовано для создания нового объекта Date() или для указания даты в существующем объекте Date при помощи Date.setTime().
Date.setDate() дата.setDate(день_месяца)день_месяца - целое между 1 и 31 Измененная дата в миллисекундах.
Date.setFullYear() дата.sеtFullYеаr(год) дата.sеtFullYеаr(год, месяц) дата.sеtFullYеаr(год, месяц, день) Измененная дата в миллисекундах.
Date.setHours()   дата.sеtHоurs(часы) дата.setHоurs(часы, минуты) дата.sеtHоurs(часы, минуты, секунды) дата.setHours(часы, минуты, секунды, миллисекунды) Измененная дата в миллисекундах..
Date.setMilliseconds() дата.setMilliseconds(миллисекунды) Измененная дата в миллисекундах.
Date.setMinutes() дата.sеtMinutеs(минуты) дата.sеtMinutes(минуты, секунды) дата.sеtMinutes(минуты, секунды, миллисекунды) Измененная дата в миллисекундах.
Date.setMonth() дата.setMonth(месяц) дата.setMonth(месяц, день)   Измененная дата в миллисекундах.
Date.setSeconds() дата.setSeconds(секунды) дата.setSeconds(секунды, миллисекунды) Измененная дата в миллисекундах.
Date.setTime() дата.setTime(миллисекунды) Количество миллисекунд между указанной датой/временем и полуночью по Гринвичу 01.011.1970 года. Такое значение в миллисекундах может быть передано конструктору Date() и получено при вызове методов Date.UTC() и Date.parse(). Не зависит от часового пояса. Аргументом являются миллисекунды.
Date.setUTCDate() дата.setUTCDate(день_месяца) Измененная дата в миллисекундах.
Date.setUTCFullYear() дата.sеtUТСFullYеаr(год) дата.sеtUТСFullYеаr(год, месяц) дата.sеtUТСFullYеаr(год, месяц, день) Измененная дата в миллисекундах.
Date.setUTCHours() дата.sеtUТСНоurs(часы) дата.sеtUТСНоurs(часы, минуты) дата.sеtUТСНоurs(часы, минуты, секунды) дата.sеtUТСНоurs(часы, минуты, секунды, миллисекунды) Измененная дата в миллисекундах.
Date.setUTCMilliseconds() дата.sуtUТСМilliseconds(миллисекунды) Измененная дата в миллисекундах.
Date.setUTCMinutes() дата.setUТСМinutes(минуты) дата.setUТСМinutes(минуты, секунды) дата.setUТСМinutes(минуты, секунды, миллисекунды) Измененная дата в миллисекундах.
Date.setUTCMonth()   дата.sеtUТСМonth(месяц) дата.sеtUТСМonth(месяц, день) Измененная дата в миллисекундах.
Date.setUTCSeconds() дата.setUТСSeconds(секунды) дата.setUТСSeconds(секунды, миллисекунды) Измененная дата в миллисекундах.
Date.setYear() дата.setYear(год) Измененная дата в миллисекундах. Метод setYear() устанавливает поле года объекта Date(), особенным способом обрабатывая интервал времени между 1900 и 1999 годами. Вместо этого метода рекомендуется использовать метод setFullYear().
Date.toDateString() дата.toDateString()   Понятное зрителю строковое представление даты (без времени), вид которого зависит от реализации.
Date.toGMTString() Устарел, рекомендуется вместо него использовать метод Date.toUТСString(). дата.toGMTString() Возвращает строковое представление даты и времени, указанных в аргументе. Дата перед преобразованием в строку переводится из локального времени во время по Гринвичу.
Date.toLocaleDateString() дата.toLocaleDateString() Понятное зрителю строковое представление даты (без времени), вид которого зависит от реализации, выраженное в локальном времени и отформатированное в соответствии с региональными настройками.
Date.toLocaleString() дата.toLocaleString() Строковое представление заданных аргументом даты и времени. Формат может отличаться на разных платформах и в разных странах. Дата и время представлены в локальном часовом поясе и отформатированы в соответствии с региональными настройками.
Date.toLocaleTimeString() дата.toLocaleTimeString() Понятное зрителю строковое представление даты (без времени), вид которого зависит от реализации, выраженное в локальном времени и отформатированное в соответствии с региональными настройками.
Date.toString() дата.toString() Понятное зрителю строковое представление даты в локальном часовом поясе. Метод, в отличие от toUТСString(), вычисляет дату в локальном часовом поясе. Метод toString(), в отличие от toLocaleString(), может представить дату и время без учета региональных настроек.
Date.toTimeString() дата.toTimeString() Понятное зрителю строковое представление времени из объекта даты, выраженное в локальном часовом поясе, зависящее от реализации.
Date.toUTCString() дата.toUTCString() Понятное зрителю строковое представление даты в универсальном времени.
Date.UТС() Создать объект Date можно следующим образом, используя спецификацию времени в UТС: d=new Date(Date.UТС(1985, 3, 7, 17, 29)); Date.UТС(год, месяц, день, часы, минуты, секунды, мс) Указанное универсальное время в миллисекундном представлении. Метод возвращает количество миллисекунд между полуночью по Гринвичу 01.01.1970 года и указанным временем.
Date.valueOf() дата.valueOf() Дата в миллисекундном представлении. Возвращает значение, совпадающее со значением, возвращаемым методом Date.getTime().

Пример 1: Показывает текущее время на странице (см. рис. 70).

< html> < head>

< script language=" JavaScript" >

<! --

function disptime() {

var time = new Date();

var hour = time.getHours();

var minute = time.getMinutes();

var second = time.getSeconds();

Рисунок 70 – Отображение часов в окне браузера
var temp = " " +((hour> 12)? hour - 12: hour);

temp += ((minute < 10)? ": 0" : ": " ) + minute;

temp += ((second < 10)? ": 0" : ": " ) + second;

temp += (hour > = 12)? " P.M." : " A.M.";

document.MyPage.digits.value = temp;

id = setTimeout(" disptime()", 1000); }

//-->

< /script> < /head>

< body onload=" disptime()" >

< p> Time and Tide wait for none. < /p> < br> < br>

< p> The time is displayed on the page. < /p> < br> < br> < br>

< form name=" MyPage" >

< input type=" text" name=" digits" size=12 value=" " >

< /form>

< /body>

< /html>

 

Пример 2: Показывает текущую дату (см. рис. 71).

< html>

< hеаd> < title> today's date < /title> < /hеаd> < body>

< script>

mydate=new Date();

document.write(" Today's Date is: " + mydate.getDate());

< /script>

< /body> < /html>

Объект Math

В JavaScript объект Math служит для хранения используемых в вычислениях математических констант и выполнения операций над числами при помощи стандартных математических функций. Для доступа к свойствам и методам объекта Math используются следующие выражения:

Math.свойство;

Math.метод(параметры);

Свойства Math

Значениями свойств объекта Math являются математические константы. Для того, чтобы обратиться к значениям математических констант и использовать их при вычислениях, используют следующие виды записей:

Маth.E - постоянная Эйлера - константа e, являющаяся основанием натуральных логарифмов.

Маth.LN10 - натуральный логарифм десяти.

Math.LN2 - натуральный логарифм двойки.

Маth.LOG10E - десятичный логарифм константы e.

Маth.LOG2E - логарифм константы e по основанию 2.

Маth.PI - число π (ПИ).

Маth.SQRT1_2 - единица, деленная на корень квадратный из числа 2.

Маth.SQRT2 - корень квадратный из числа 2.

 

Пример.

Выражение для вычисления длины окружности при заданном радиусе будет выглядеть следующим образом:

var radius=45; / / указали радиус окружности

length_circle = 2* radius *Math.PI; // вычисление длины окружности

Методы Math

Маth.abs() абсолютное значение (модуль)

Маth.acos() арккосинус

Маth.asin() арксинус

Маth.atan() арктангенс

Маth.atan2() угол между осью X и точкой

Маth.ceil() округление числа вверх

Маth.cos() косинус

Маth.exp() степень числа e

Маth.floor() округление числа вниз

Маth.log() натуральный логарифм

Маth.max() вычисление большего из двух чисел

Маth.min() вычисление меньшего из двух чисел.

Маth.pow() вычисление x в степени y

Маth.random() генерация случайного числа

Маth.round() округляет до ближайшего целого

Маth.sin() вычисление синуса

Маth.sqrt() вычисление квадратного корня

Маth.tan() тангенс

Пример.

1. Метод random() возвращает случайное число, лежащее в интервале от 0 до 1. Чтобы получить случайное число в пределах от 0 до Nmax, следует написать следующее выражение:

х = Nmax*(Math.random());

Если требуется получить случайное число в интервале от Nmin до Nmax, то из элементарного отношения пропорций получаем следующее выражение:

х = Nmin + (Nmax - Nmin)*Math.random();

Можно также создать функцию для вычисления случайного числа в заданном интервале:

function rand(a, b) {

return a+ (b-a)*Math.random() }

Эта функция может потребоваться, например, для внесения некоторой непредсказуемости (нерегулярности) перемещения элементов на веб-странице, выбора цветов для мигающей надписи и т. п.

2. Для вычисления значения тригонометрической функции sin(x), у которой аргумент х выражен в градусах, следует применить следующее выражение:

Math.sin(Math.PI*x/180);

Пример 1. Определение площади круга, если задан его радиус (см. рис. 72).

< html> < script> function doCalc(x) {var a; a = Math.PI * x * x; alert (" Площадь круга с радиусом" +x+" " +" равна" +" " + a); } < /script> < body> < form> Введите радиус круга: < input type=" text" size =" 5" name = " rad" > < br> < br> < input type = " button" value = " Рассчитать площадь" onclick=" doCalc(rad.value)" > < /form> < /body> < /html> Рисунок 72 – Вычисление площади круга  

Пример 2. Для расчета значений тригонометрических функций, необходимо, чтобы аргумент был задан в радианах (см. рис. 73).

Рассчитаем величину синуса от угла, заданного в градусах:

< html> < head>

< script>

function doCalc(x) {

var a, tmp;

a = x*(Math.PI / 180);

tmp=Math.sin(a);

tmp=tmp.toFixed(2);

alert (" Величина синуса от " + x + " " + " градусов равна" + " " + tmp); }

< /script> < /head>

< body> < form> Введите величину угла:

< input type=" text" size=" 5" name=" angle" > < br> < br>

< input type =" button" value = " Рассчитать синус" onclick=" doCalc(angle.value)" >

< /form> < /body> < /html>

Инструкция for/in

в JavaScript ключевое слово for используется также в инструкции for/in, представляющей собой вид цикла со следующим синтаксисом:

Fоr (переменная in объект)

{инструкции}

Переменная в данной конструкции представляет собой или имя переменной, или инструкцию var объявления переменной, либо элемент массива, либо свойство объекта. Аргументом объект является либо имя объекта, либо выражение, значением которого будет объект.

Инструкция for/in представляет собой удобное средство перебора всех умеющихся у объекта свойств. Инструкции тела цикла for/in исполняются единожды для каждого из свойств объекта.

Всякий раз до исполнения тела цикла имя очередного свойства объекта присваивается переменной в виде строки. Для получения значения свойства объекта в теле цикла эту переменную можно заключить в оператор [].

Пример.

Выведем на печать имена и значения всех свойств выбранного объекта:

fоr (vаr рrореrty in my_оbject) {

dосumеnt.writе(" имя: " + property + "; значение: " + my_object[property], " < br> " ); }

Копируем имена всех свойств объекта в массив:

vаr my_аrr = {х: 1, y: 2, z: 3};

vаr а = nеw Аrrаy();

vаr i = 0;

fоr(а[i++] in my_аrr) /* пустое тело цикла */;

Используем цикл for/in для перебора элементов массива так же, как свойств объекта:

fоr(i in а) аlеrt(i);

Заранее нельзя знать, в каком порядке свойства объекта в цикле for/in будут присвоены переменной, в различных реализациях и версиях JavaScript поведение может быть разным.

Свойства, определенные пользователем, перечисляются все, в то же время многие встроенные свойства, включая все встроенные методы, не будут перечисляться. Унаследованные от других объектов свойства, которые определены пользователем, будут перечисляться в помощью цикла for/in.

Использование меток

Любое место кода документа, например, инструкция, может быть помечено указанным перед ней именем идентификатора и двоеточием:

Идентификатор: инструкция;

Имя идентификатора назначается по тем же правилам, по каким в JavaScript определяются имена переменных. Имена меток отделены от наименований переменных и функций, поэтому программисту не нужно заботиться о конфликтах имен.

Пример.

parser:

while(token! = null) {

// здесь код опущен

}

Поставив метку рядом с инструкцией, мы можем сослаться на нее из любого места программы. Пометить можно любую инструкцию, но чаще всех помечаются циклы.

Метки case: и default: в сочетании с инструкцией switch – это особый вариант более общего случая.

Как уже отмечалось ранее, инструкция break приводит к немедленному выходу из инструкции switch или цикла.

В JavaScript можно указать имя метки сразу за ключевым словом break:

break: имя_метки;

Имя_метки является обычным идентификатором, за ним не нужно указывать двоеточие, как при определении метки.

Когда break используется с меткой, происходит переход в конец именованной инструкции или прекращение ее выполнения, причем именованной инструкцией может быть любая инструкция, внешняя по отношению к break. Метка может быть, например, быть циклом или инструкцией switch, именем инструкции if или даже блока инструкций, заключенных в фигурные скобки только для того, чтобы иметь возможность присвоть этому блоку метку.

Между ключевым словом break и именем метки нельзя добавлять знак перевода строки. Причина в том, что интерпретатор JavaScript автоматически вставляет пропущенные точки с запятой в конце строк текста. Если добавить знак перевода строки, между словом break и меткой, интерпретатор предположит, что имелась в виду простая форма этой инструкции без метки.

Пример. Ищем определенное значение среди элементов массива. Если такое значение найдено, цикл прервется с помощью инструкции break:

for(i = 0; i < a.length; i++) {

if (a[i] == target)

break; }

Запись инструкции breakс меткой требуется только во вложенных циклах или в инструкции switch при необходимости выйти из инструкции, не являющейся самой внутренней.

Пример. Попробуйте разобраться, каким будет результат работы этого фрагмента:

оutеrlоор:

for(var i = 0; i < 10; i++) {

innеrlоор:

for(vаr j = 0; j < 10; j++) {

if (j > 3) brеаk; // Выход из самого внутреннего цикла

if (i == 2) brеаk innerloop; // То же самое

if (i == 4) brеаk outerloop; // Выход из внешнего цикла

dосumеnt.writе(" i = " + i + " j = " + j + " < br> " ); } }

dосumеnt.writе(" FINАL i = " + i + " j = " + j + " < br> " );

Инструкция continue, как было сказано ранее, запускает новую итерацию цикла. Инструкция continue может быть использована только в теле циклов while, do while, for и for in.

Пример. Используем инструкцию continue без метки для выхода из текущей итерации цикла в случае ошибки:

for(i = 0; i < dаtа.lеngth; i++) {

if (dаta[i] == null)


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-09; Просмотров: 611; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.077 с.)
Главная | Случайная страница | Обратная связь