- •Саратовский государственный технический университет
- •Введение
- •Три уровня web-документа
- •Навигация
- •Глава 1. Основы Java Script
- •Рекомендации по использованию JavaScript
- •Добавление JavaScript кода в html документы
- •Сокрытие сценариев от устаревших браузеров
- •Определение языка сценариев
- •Атрибут language
- •Атрибут defer
- •1.2. Ввод и вывод данных
- •Alert(сообщение);
- •Confirm(сообщение);
- •Вывод в тело документа
- •Практические задания
- •1.3. Типы данных и значения
- •Целые литералы
- •Шестнадцатеричные и восьмеричные литералы
- •Литералы вещественных чисел
- •Работа с числами
- •Специальные числовые значения
- •Строковые литералы
- •Управляющие последовательности в строковых литералах
- •Преобразование чисел в строки
- •Логические значения
- •Преобразование логических значений
- •Функции
- •Функциональные литералы
- •Объекты
- •Объектные литералы
- •Значение null
- •Значение undefined
- •Объекты Error
- •Преобразование типов
- •Имена переменных
- •Создание переменных
- •Var имя_переменной;
- •Типизация переменных
- •Область видимости переменной
- •Var X; // Объявляем неинициализированную переменную. Значением ее является undefined
- •Элементарные и ссылочные типы
- •Комментарии
- •Арифметические операторы
- •Операторы сравнения
- •Операторы сравнения
- •Оператор in
- •Оператор instanceof
- •Строковые операторы
- •Логические операторы
- •Присваивание с операцией
- •Условный оператор (?:)
- •Оператор typeof
- •Оператор создания объекта (new)
- •Оператор delete
- •Глава 2. Инструкции Java Script
- •Инструкция if - оператор условного перехода
- •If (условие)
- •If (условие1) {
- •If (!х) {// Если переменная username равна null, undefined, 0, "" или NaN, она
- •If (!X) alert('Bы ничего не ввели")
- •Инструкция else if
- •Инструкция switch
- •Практические задания
- •Операторы цикла
- •Инструкция while
- •Цикл do/while
- •Инструкция for
- •I f (условие2){
- •Инструкция for/in
- •Инструкция break
- •Инструкция continue
- •Практические задания
- •Инструкция var
- •Инструкция function
- •Инструкция return
- •Инструкция throw
- •Инструкция try/catch/finally
- •Инструкция with
- •Пустая инструкция
- •Глава 3 Объекты
- •Создание объектов
- •Свойства объектов
- •Объекты как ассоциативные массивы
- •Свойства и методы универсального класса Object
- •Объект String (Строка)
- •Методы String обработки строк
- •X.Split(" ") /* значение - массив из элементов: "Привет", "всем" */
- •Методы String форматирования строк
- •Функции вставки и замены подстрок
- •Insstr ("Привет, друзья", " мои", 7) // "Привет, мои друзья"
- •Insstr("Привет, друзья", " мои", 100) // "Привет, друзья мои"
- •Практическое задание
- •Массивы
- •Чтение и запись элементов массива
- •Добавление новых элементов в массив
- •Длина массива
- •Многомерные массивы
- •Методы массивов
- •Функции обработки числовых массивов
- •Практическое задание
- •Практические задания
- •Объект Date
- •Аргументы
- •Статические методы
- •Практические задания
- •Объект Math (Математика)
- •Свойства Math
- •Методы Math
- •Таймеры
- •If (confirm("Прервать процесс ?"))
- •Глава 4 Основы создания сценариев
Статические методы
В дополнение к многочисленным методам экземпляра в объекте Date определены два статических метода. Эти методы вызываются через сам конструктор Date(), а не через отдельные объекты Date:
Date.parse() //Анализирует строковое представление даты и времени и возвращает внутреннее представление этой даты в миллисекундах.
Date.UTC() //Возвращает миллисекундное представление указанной даты и времени UTC.
Методы
У объекта Date нет доступных для записи или чтения свойств; вместо этого доступ к значениям даты и времени выполняется через методы. Большинство методов объекта Date имеют две формы: одна для работы с локальным временем, другая – с универсальным временем (UTC или GMT). Например, обозначение get[UTC]Day() относится к двум методам: getDay() и getUTCDay().
Стандарт ECMAScript требует, чтобы объект Date мог представить любые дату и время с миллисекундной точностью в пределах 100 миллионов дней до и после 01.01.1970. Этот диапазон равен ±273785 лет, поэтому JavaScript-часы будут правильно работать до 275755 года.
Обычное применение объекта Date – это вычитание миллисекундного представления текущего времени из другого времени для определения относительного местоположения двух временных меток. Следующий пример клиентского кода показывает два таких применения:
<script language="JavaScript">
today = new Date(); // Запоминаем сегодняшнюю дату
christmas = new Date(); // Получаем дату из текущего года
christmas.setMonth(11); // Устанавливаем месяц декабрь...
christmas.setDate(25); // и 25-е число
/*Если Рождество еще не прошло, вычисляем количество миллисекунд между текущим моментом и Рождеством, преобразуем его в количество дней и печатаем сообщение*/
if (today.getTime() < christmas.getTime()) {
difference = christmas.getTime()- today.getTime();
difference = Math.floor(difference / (1000 * 60 * 60 * 24));
document.write('<p>Всего ' + difference + ' дней до Рождества!</p>'); }
</script>
// ... остальная часть HTML_документа ...
<script language="JavaScript">
/*Здесь мы используем объекты Date для измерения времени
Делим на 1000 для преобразования миллисекунд в секунды*/
now = new Date();
document.write('<p>Страница загружалась' + (now.getTime()-
today.getTime()) /1000 + 'секунд. </p>');
//Этот оператор должен занимать одну строку!
</script>
Метод |
Синтаксис |
Возвращаемое значение |
Date.getDate() |
дата.getDate() |
день месяца в соответствии с локальным временем. Возвращаемые значения могут находиться в интервале между 1 и 31. |
Date.getDay() |
дата.getDay() |
День недели в соответствии с локальным временем. Возвращает числа от 0 (воскресенье) до 6 (суббота). |
Date.getFullYear() |
дата.getFullYear() |
Год, получаемый, когда дата выражена в локальном времени. Возвращает четыре цифры, а не сокращение из двух цифр. |
Date.getHours() |
дата.getHours()
|
Значение поля часов в локальном времени. Возвращаемое значение находится в диапазоне между 0 (полночь) и 23 (11 часов вечера). |
Date.getMilliseconds() |
дата.getMilliseconds()
|
Поле миллисекунд в локальном времени. |
Date.getMinutes() |
дата.getMinutes()
|
Поле минут в локальном времени. Возвращаемое значение может принимать значения от 0 до 59. |
Date.getMonth() |
дата.getMonth()
|
Поле месяца в локальном времени. Возвращаемое значение может принимать значения от 0 (январь) до 11 (декабрь). |
Date.getSeconds() |
дата.getSeconds()
|
Поле секунд в аргументе датав локальном времени. Возвращаемое значение может принимать значения от 0 до 59.
|
Date.getTime() |
дата.getTime()
|
Миллисекундное представление аргумента дата, представляющего собой объект Date, т.е. число миллисекунд между полночью 01.01.1970 и датой/временем, определяемыми дата. Метод getTime() преобразует дату и время в одно целое значение. Это удобно, когда требуется сравнить два объекта Date или определить время, прошедшее между двумя датами. Обратите внимание: миллисекундное представление даты не зависит от часового пояса, поэтому отсутствует метод getUTCTime(), дополняющий данный. Методы Date.parse() и Date.UTC() позволяют преобразовать спецификацию даты и времени в миллисекундное представление, обходя избыточное создание объекта Date. |
Date.getTimezoneOffset() |
дата.getTimezoneOffset() |
Разница в минутах между временем по Гринвичу (GMT) и локальным временем. |
Date.getUTCDate() |
дата.getUTCDate()
|
День месяца (значение между 1 и 31), полученный при вычислении даты в универсальном времени. |
Date.getUTCDay()
|
дата.getUTCDay()
|
День недели, получаемый, когда дата выражена в универсальном времени. Возвращаемые значения могут находиться в интервале между 0 (воскресенье) и 6 (суббота). |
Date.getUTCFullYear() |
дата.getUTCFullYear()
|
Год, получаемый, когда дата вычисляется в универсальном времени. Возвращаемое значение – четырехзначный номер года, а не сокращение из двух цифр. |
Date.getUTCHours() |
дата.getUTCHours()
|
Поле часов для даты, вычисленное в универсальном времени. Возвращаемое значение – целое между 0 (полночь) и 23 (11 часов вечера). |
Date.getUTCMilliseconds() |
дата.getUTCMilliseconds()
|
Поле миллисекунд для даты, выраженное в универсальном времени. |
Date.getUTCMinutes() |
дата.getUTCMinutes()
|
Поле минут для даты в универсальном времени. Возвращает целое между 0 и 59. |
Date.getUTCMonth()
|
дата.getUTCMonth()
|
Месяц года, получающийся, когда дата вычислена в универсальном времени. Возвращает целое между 0 (январь) и 11 (декабрь). |
Date.getUTCSeconds() |
дата.getUTCSeconds() |
Поле секунд даты в универсальном времени. Возвращает целое между 0 и 59. |
Date.getYear() Устарел в ECMAScript v3 |
дата.getYear()
|
Поле года для указанного аргумента дата, представляющего собой объект Date, минус 1900. Используйте вместо него метод getFullYear(). |
Date.parse() |
Date.parse(дата)
|
Количество миллисекунд между указанными датой/временем и полночью 1 января 1970 года по Гринвичу. Метод принимает один строковый аргумент, анализирует дату, содержащуюся в строке, и возвращает ее в виде числа миллисекунд, которое может использоваться непосредственно для создания нового объекта Date или для установки даты в существующем объекте Date с помощью Date.setTime(). |
Date.setDate() |
дата.setDate(день_месяца) день_месяца - целое между 1 и 31 |
Миллисекундное представление измененной даты. |
Date.setFullYear() |
дата.setFullYear(год) дата.setFullYear(год, месяц) дата.setFullYear(год, месяц, день) |
Внутреннее миллисекундное представление измененной даты.
|
Date.setHours()
|
дата.setHours(часы) дата.setHours(часы, минуты) дата.setHours(часы, минуты, секунды) дата.setHours(часы, минуты, секунды, миллисекунды) |
Миллисекундное представление измененной даты. |
Date.setMilliseconds() |
дата.setMilliseconds(миллисекунды) |
Миллисекундное представление измененной даты. |
Date.setMinutes() |
дата.setMinutes(минуты) дата.setMinutes(минуты, секунды) дата.setMinutes(минуты, секунды, миллисекунды) |
Миллисекундное представление измененной даты. |
Date.setMonth() |
дата.setMonth(месяц) дата.setMonth(месяц, день)
|
Миллисекундное представление измененной даты. |
Date.setSeconds() |
дата.setSeconds(секунды) дата.setSeconds(секунды, миллисекунды) |
Миллисекундное представление измененной даты. |
Date.setTime() |
дата.setTime(миллисекунды) Количество миллисекунд между требуемыми датой/временем и полночью по Гринвичу 1 января 1970 года. Подобное миллисекундное значение может быть также передано конструктору Date() и получено при вызове методов Date.UTC() и Date.parse(). Представление даты в миллисекундном формате делает ее независимой от часового пояса. |
Аргумент миллисекунды |
Date.setUTCDate() |
дата.setUTCDate(день_месяца) |
Внутреннее миллисекундное представление измененной даты. |
Date.setUTCFullYear() |
дата.setUTCFullYear(год) дата.setUTCFullYear(год, месяц) дата.setUTCFullYear(год, месяц, день) |
Внутреннее миллисекундное представление измененной даты. |
Date.setUTCHours() |
дата.setUTCHours(часы) дата.setUTCHours(часы, минуты) дата.setUTCHours(часы, минуты, секунды) дата.setUTCHours(часы, минуты, секунды, миллисекунды) |
Внутреннее миллисекундное представление измененной даты. |
Date.setUTCMilliseconds() |
дата.setUTCMilliseconds(миллисекунды) |
Внутреннее миллисекундное представление измененной даты. |
Date.setUTCMinutes() |
дата.setUTCMinutes(минуты) дата.setUTCMinutes(минуты, секунды) дата.setUTCMinutes(минуты, секунды, миллисекунды) |
Внутреннее миллисекундное представление измененной даты.
|
Date.setUTCMonth()
|
дата.setUTCMonth(месяц) дата.setUTCMonth(месяц, день) |
Внутреннее миллисекундное представление измененной даты. |
Date.setUTCSeconds() |
дата.setUTCSeconds(секунды) дата.setUTCSeconds(секунды, миллисекунды) |
Внутреннее миллисекундное представление измененной даты.
|
Date.setYear() |
дата.setYear(год) |
Миллисекундное представление измененной даты. Метод setYear() устанавливает поле год в указанном объекте Date, особым образом обрабатывая интервал времени между 1900 и 1999 годами. По спецификации ECMAScript v3 этот метод не является обязательным в совместимых реализациях JavaScript; вместо него рекомендован метод setFullYear(). |
Date.toDateString() |
дата.toDateString()
|
Зависящее от реализации и понятное человеку строковое представление даты (без времени в локальном времени. |
Date.toGMTString() устарел в ECMAScriptv3. Вместо него рекомендуется использовать аналогичный метод Date.toUTCString(). |
дата.toGMTString()
|
Строковое представление даты и времени, указанное в аргументе дата, представляющем собой объект Date. Перед преобразованием в строку дата переводится из локального времени во время по Гринвичу. |
Date.toLocaleDateString() |
дата.toLocaleDateString()
|
Зависящее от реализации и понятное человеку строковое представление даты (без времени) из объекта дата, выраженное в локальном времени и отформатированное в соответствии с региональными настройками. |
Date.toLocaleString() |
дата.toLocaleString()
|
Строковое представление даты и времени, заданных аргументом дата. Дата и время представлены в локальном часовом поясе и отформатированы в соответствии с региональными настройками. При форматировании даты и времени используются региональные настройки, поэтому формат может отличаться на разных платформах и в разных странах. |
Date.toLocaleTimeString() |
дата.toLocaleTimeString()
|
Зависящее от реализации и понятное человеку строковое представление данных о времени из объекта дата, выраженное в локальном часовом поясе и отформатированное в соответствии с региональными настройками. |
Date.toString() |
дата.toString()
|
Понятное человеку строковое представление даты в локальном часовом поясе. В отличие от toUTCString(), метод вычисляет дату в локальном часовом поясе. В отличие от toLocaleString(), метод toString() может представлять дату и время без учета региональных настроек. |
Date.toTimeString() |
дата.toTimeString()
|
Зависящее от реализации, понятное человеку строковое представление данных о времени из объекта дата, выраженное в локальном часовом поясе. |
Date.toUTCString() |
дата.toUTCString()
|
Понятное человеку строковое представление даты, выраженное в универсальном времени. |
Date.UTC() Создать объект Date, используя спецификацию времени в UTC, можно следующим образом: d=new Date(Date.UTC(1996,4,8, 16,30)); |
Date.UTC(год, месяц, день, часы, минуты, секунды, мс) |
Миллисекундное представление указанного универсального времени. Метод возвращает количество миллисекунд между полночью по Гринвичу 1 января 1970 года и указанным временем. |
Date.valueOf() |
дата.valueOf() |
Миллисекундное представление даты. Возвращаемое значение совпадает со значением, возвращаемым Date.getTime(). |
Пример 1: Показывает текущее время на странице.
<html> <head>
<script language="JavaScript">
<!--
function disptime() {
var time = new Date();
var hour = time.getHours();
var minute = time.getMinutes();
var second = time.getSeconds();
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: Показывает текущую дату.
<html>
<head> <title> today's date </title> </head>
<body>
<script language="JavaScript">
mydate=new Date();
document.write("Today's Date is: "+ mydate.getDate());
</script>
</body>
</html>