конспект курса Java Script. Программирование клиентской части Интернет приложений с использованием JavaScript
Скачать 1.49 Mb.
|
Методы объекта Array Методы Действие concat([item1 [, item2 [, . . . [,itemN]]]]) Возвращает массив, представляющий собой массив, метод которого вызывается, с добавленными в его конец элементами, заданными в качестве параметров. Если параметр сам является массивом, то добавляются все его элементы. Сам массив не изменяется. join(separator) Возвращает строку — результат конкатенации всех элементов массива. Соседние элементы в строке разделены указанным в качестве параметра разделителем separator. pop() Удаляет последний элемент из массива и возвращает его значение push([item1 [, item2 [, . . . [,itemN]]]]) Добавляет элементы в конец массива и возвращает последний добавленный элемент. Если добавляемый элемент массив, то добавляет его как один элемент. reverse() Переставляет элементы массива в обратном порядке: первый элемент становится последним, а последний первым shift() Удаляет первый элемент массива и возвращает 42 его значение slice(start [, end]) Возвращает массив, содержащий часть исходного массива (сечение). Если параметр end не определен, то возвращаются все элементы от элемента с индексом start до конца массива. splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]]) Удаляет заданное вторым параметром deleteCount количество элементов из массива, начиная с элемента с индексом start. Если заданы необязательные параметры item, то добавляет их вместо удаленных. Возвращает массив удаленных элементов. sort([имя_функции]) Возвращает массив, элементы которого отсортированы заданным в функции методом. Если метод сортировки вызывается без параметра, то элементы сортируются по порядку возрастания номеров начальных символов в таблице ASCII. Если при вызове метода параметром указывается ссылка на функцию сортировки задана, то она должна быть написана в соответствии со следующей спецификацией: она имеет два обязательных параметра и возвращает отрицательное значение, если значение первого параметра меньше значения второго, ноль, если они равны и положительное значение, если значение первого параметра превосходит значение второго. unshift([item1 [, item2 [, . . . [,itemN]]]]) Добавляет один или более элементов в начало массива и возвращает новую длину массива. toString() Возвращает строку — результат конкатенации всех элементов массива. Элементы массива в строке разделены запятой ,. Несколько примеров использования методов объекта массив. Пусть определены два массива: array1 = new Array("Первый","Второй","Третий"); array2 = new Array("Один","Два","Три"); Тогда метод join() первого массива array1.join() возвратит строку: "Первый,Второй,Третий" А его же метод array1.join(":") возвратит следующую строку: "Первый:Второй:Третий" 43 Заметим, что метод toString() массива (наследуется от встроенного объекта Object и переопределяется в конструкторе String()) , вызываемый по умолчанию тогда, когда надо представить объект-массив в виде строки, по- существу вызывает его метод join() без параметра. Например, если необходимо отобразить в документе содержимое массива, то можно использовать следующий оператор: document.write(" ", array1, " "); Результатом будет новый абзац со значениями массива array1, разделенными запятыми: Первый,Второй,Третий Метод sort() первого массива array1.sort() упорядочит элементы массива array1 (переставив их местами непосредственно в самом массиве array1 ) в алфавитном порядке: array1[0] = "Второй" array1[1] = "Первый" array1[2] = "Третий" Для сортировки массива в обратном порядке следует написать собственную функцию сортировки и передать ее имя (ссылку на нее) в метод sort() массива: function revSort(a,b){ return (a > b) ? -1 : 1 } Теперь вызов, например, array2.sort(revSort), отсортирует элементы массива array2 в противоположно-алфавитном порядке: array2[0] = "Три" array2[1] = "Один" array2[2] = "Два" Коль скоро некоторые методы массива возвращают массив, то к нему можно сразу же применить какой-либо метод, продолжив "точечную" нотацию. Например, array1.concat(array2).sort() объединит два массива в один новый и отсортирует его. Массив, как объект, имеет свойство length, хранящее количество элементов массива. Добавление или удаление элементов массива (методы pop, push, shift, unshift, splice) приводит к автоматическому изменению свойства length. Добавить в конец массива элемент можно не только с помощью методов push или splice, но и простым заданием элемента с индексом, большим индекса его последнего элемента. При этом все промежуточные элементы принимают значения undefined. Массивы JavaScript "понимают" не только целые числовые индексы, но и индексы, заданные в виде строки. Однако следует иметь в виду, что добавление в массив элементов со строковыми индексами не приводит к увеличению значения 44 свойства length, а это означает, что подобные "элементы" не участвуют ни в каких методах массива. Забегая вперед, поясним, что созданием элемента со строковым индексом мы на самом деле создаем новое свойство нашего конкретного объекта-массива. Для массивов нескольких размерностей конструктор не предусмотрен. Но их можно создавать, объявляя каждый элемент одномерного массива снова одномерным массивом. Полученные элементы уже двумерного массива можно снова объявить как одномерные массивы, создав, таким образом, трехмерный массив и т. д. Следующий код создает двумерный массив размерности (4 4): a = new Array() for (i=0; i < 4; i++) { a[i] = new Array() for (j=0; j < 4; j++) { a[i][j] = значение } } Обратите внимание, что при ссылке на элементы такого массива индекс каждого размерения элемента следует задавать в самостоятельных квадратных скобках: сначала в квадратных скобках указать первый индекс, затем в других квадратных скобках второй индекс и т. д. Объект Date В JavaScript дата хранится в виде количества миллисекунд, прошедших от 1 января 1970 года. Диапазон хранимых дат от 250 000 до РХ до 255 000 по РХ. Для создание объекта даты используется конструктор Date() с различными параметрами: имя_объекта = new Date([параметры]); Если в конструкторе параметры отсутствуют, то значением объекта будет текущая дата: today = new Date() Параметром конструктора может быть строка вида: "месяц день, год часы:минуты:секунды" Если при этом опустить значения часов, минут и секунд, то по умолчанию они будут иметь значения 0. Месяц следует задавать в английском правописании, сокращая до трех букв, причем первую букву слова не обязательно задавать прописной: Xmas = new Date("January 7, 2004 00:00:00") Xmas = new Date("Jan 7, 2004 00:00:00") Xmas = new Date("jan 7, 2004 00:00:00") В конструкторе можно задать список параметров, определяющих год, месяц и день с необязательными часами, минутами и секундами (отсчет месяцев начинается с 0 — январь): 45 Xmas = new Date(2004, 0, 7) Xmas = new Date(2004, 0, 7, 0) Методы объекта Date getDate() Возвращает день месяца даты, хранящейся в объекте date. Значения от 1 до 31. getDay() Возвращает число, соответствующее дню недели даты, хранящейся в объекте date. 0 соответствует воскресенью, 6 – субботе. getFullYear() Возвращает год в четырехзначном варианте даты, хранящейся в объекте date. getHours() Возвращает час в 24-часовом формате даты, хранящейся в объекте date. Если при задании даты час не был указан, то этот метод возвращает 0. getMilliseconds() Возвращает миллисекунды даты, хранящейся в объекте date. Если при задании даты миллисекунды не были указаны, то этот метод возвращает 0. getMinutes() Возвращает минуты даты, хранящейся в объекте date. Если при задании даты минуты не были указаны, то этот метод возвращает 0. getMonth() Возвращает номер месяца даты, хранящейся в объекте date. Январю соответствует номер 0, декабрю – номер 11. getSeconds() Возвращает секунды даты, хранящейся в объекте date. Если при задании даты секунды не были указаны, то этот метод возвращает 0. getTime() Возвращает целое число, равное количеству миллисекунд, прошедшее между датой, хранящейся в объекте date, и 1 января 1970 года по Гринвичу. Отрицательные значения соответствуют датам до 1 января 1970 года. getTimeZoneOffset() Возвращает разницу во времени между местным временем и по Ггринвичу в минутах. Значение является целым числом. getUTCDate() Возвращает день месяца даты, хранящейся в объекте date. Значения от 1 до 31. Используется формат UTC. getUTCDay() Возвращает число, соответствующее дню недели даты, хранящейся в объекте date. 0 46 соответствует воскресенью, 6 – субботе. Используется формат UTC. getUTCFullYear() Возвращает год в четырехзначном варианте даты, хранящейся в объекте date. Используется формат UTC. getUTCHours() Возвращает час в 24-часовом формате даты, хранящейся в объекте date. Если при заданиидаты час не был указан, то этот метод возвращает 0. Используется формат UTC. getUTCMilliseconds() Возвращает миллисекунды даты, хранящейся в объекте Date. Если при задании даты миллисекунды не были указаны, то этот метод возвращает 0. Используется формат UTC. getUTCMinutes() Возвращает минуты даты, хранящейся в объекте date. Если при задании даты минуты не были указаны, то этот метод возвращает 0. Используется формат UTC. getUTCMonth() Возвращает номер месяца даты, хранящейся в объекте date. Январю соответствует номер 0, декабрю – номер 11. Используется формат UTC. getUTCSeconds() Возвращает секунды даты, хранящейся в объекте date. Если при задании даты секунды не были указаны, то этот метод возвращает 0. Используется формат UTC. getVarDate() Возвращает значение объекта Date в формате VT_DATE. Используется только в объектах ActiveX, которые поддерживают такой формат. setDate(dateValue) Устанавливает день месяца для объекта Date . Если переданное в метод значение больше количества дней в месяце даты, хранящейся в объекте Date, то хранящаяся в объекте дата заменяется датой, день месяца которой получается вычитанием из переданного значения параметра количества дней хранимого месяца, а месяц переходит на следующий после хранимого (этот алгоритм повторяется до тех пор, пока не будет получено правильное число месяца). Если переданное значение отрицательное, 47 то дата меняется на дату, отстоящую от начала хранимого месяца на число дней, соответствующее абсолютному значению переданного параметра. Пример: если текущее значение даты в объекте Date равно 3 Мая 2000, и вызван метод setDate(33) , то дата поменяется на 2 Июня 2000. Если вызван метод setDate(- 1) , то то дата поменяется на 29 Апреля 2000. setFullYear(yearValue [,monthValue, dayValue]) Устанавливает год для объекта Date. При желании вы можете использовать этот метод для задания значений дня и месяца. setHours(hoursValue [,minutesValue, secondsValue, millisecondValue]) Устанавливает час для объекта Date. При желании вы можете использовать этот метод для задания значений минут, секунд и миллисекунд. Если указанное значение часа превосходит количество часов в сутках (больше 24) или отрицательно, то соответственно меняется дата. Пример: если текущие дата и время в объекте Date равны 3 Мая 2000 00:00:00:00, и вызван метод setHours(25), то результатом будет 4 Мая 2000 01:00:00:00. Отрицательный аргумент уменьшает текущее значение даты на количество часов, равное абсолютному значению переданного параметра, относительно начала суток даты, хранящейся в объекте Date. setMilliseconds( [millisec]) Устанавливает значение миллисекунд для объекта Date. Если аргумент превосходит 999 или отрицателен, то значения секунд, минут, часов и т.д. по мере необходимости увеличиваются или уменьшаются на соответствующее число. setMinutes(minutesValue [,secondsValue, millisecondValue]) Устанавливает значение минут для объекта Date . Этот метод можно использовать также для установления значений секунд и миллисекунд. Если аргумент превосходит 59 или отрицателен, то значения часов, дня, месяца и т.д. по мере необходимости увеличиваются или уменьшаются на соответствующее число. 48 setMonth(monthValue [,dayValue]) Устанавливает месяц для объекта Date. Январю соответствует номер 0, декабрю – номер 11. Метод также может быть использован для установления значения дня месяца. Если аргумент превосходит 11 или отрицателен, то год хранимой даты увеличивается или уменьшается на соответствующее число. setSeconds(secondsValue [,millisecondValue]) Устанавливает значение секунд для объекта Date . Этот метод можно использовать также для установления значений миллисекунд. Если аргумент превосходит 59 или отрицателен, то значения минут, часов, дня, месяца и т.д. по мере необходимости увеличиваются или уменьшаются на соответствующее число. setTime(milliseconds) Устанавливает дату и время для объекта Date Указанный аргумент должен являться целым числом, равным количеству миллисекунд между указанной датой и 1 января 1970 года UTC. Отрицательные значения соответствуют датам до 1 января 1970 года. setUTCDate(dateValue) Устанавливает день месяца для объекта Date . Если переданное в метод значение больше количества дней в месяце даты, хранящейся в объекте Date, то хранящаяся в объекте дата заменяется датой, день месяца которой получается вычитанием из переданного значения параметра количества дней хранимого месяца, а месяц переходит на следующий после хранимого (этот алгоритм повторяется до тех пор, пока не будет получено правильное число месяца). Если переданное значение отрицательное, то дата меняется на дату, отстоящую от начала хранимого месяца на число дней, соответствующее абсолютному значению переданного параметра. Пример: если текущее значение даты в объекте Date равно 3 Мая 2000, и вызван метод setDate(33) , то дата поменяется на 2 Июня 2000. Если вызван метод setDate(- 1) , то то дата поменяется на 29 Апреля 49 2000. Используется формат UTC. setUTCFullYear(yearValue [,monthValue,dayValue]) Устанавливает год для объекта Date. При желании вы можете использовать этот метод для задания значений дня и месяца. Используется формат UTC. setUTCHours(hoursValue [,minutesValue, secondsValue, millisecondValue]) Устанавливает час для объекта Date. При желании вы можете использовать этот метод для задания значений минут, секунд и миллисекунд. Если указанное значение часа превосходит количество часов в сутках (больше 24) или отрицательно, то соответственно меняется дата. Пример: если текущие дата и время в объекте Date равны 3 Мая 2000 00:00:00:00, и вызван метод setHours(25), то результатом будет 4 Мая 2000 01:00:00:00. Отрицательный аргумент уменьшает текущее значение даты на количество часов, равное абсолютному значению переданного параметра, относительно начала суток даты, хранящейся в объекте Date. Используется формат UTC. setUTCMilliseconds( millisec) Устанавливает значение миллисекунд для объекта Date. Если аргумент превосходит 999 или отрицателен, то значения секунд, минут, часов и т.д. по мере необходимости увеличиваются или уменьшаются на соответствующее число. Используется формат UTC. setUTCMinutes( minutesValue [,secondsValue, millisecondValue]) Устанавливает значение минут для объекта Date . Этот метод можно использовать также для установления значений секунд и миллисекунд. Если аргумент превосходит 59 или отрицателен, то значения часов, дня, месяца и т.д. по мере необходимости увеличиваются или уменьшаются на соответствующее число. Используется формат UTC. setUTCMonth(monthValue [,dayValue]) Устанавливает месяц для объекта Date. Январю соответствует номер 0, декабрю – номер 11. Метод также может быть использован для установления значения дня месяца. Если аргумент превосходит 11 или 50 отрицателен, то год увеличивается или уменьшается на соответствующее число. Используется формат UTC. setUTCSeconds(secondsVal ue [,millisecondValue]) Устанавливает значение секунд для объекта Date . Этот метод можно использовать также для установления значений миллисекунд. Если аргумент превосходит 59 или отрицателен, то значения минут, часов, дня, месяца и т.д. по мере необходимости увеличиваются или уменьшаются на соответствующее число. Используется формат UTC. toGMTString() Возвращает дату, преобразованную в строку в формате GMT (Greenwich Mean Time – время по Гринвичу). Пример: 03 Мая 2000 00:00:00:00 GMT. toLocaleString() Возвращает дату, преобразованную в строку. Время и дата отображается в формате, заданном на конкретном компьютере, где выполняется код. toUTCString() Возвращает дату, преобразованную в строку. Используется формат UTC. valueOf() Возвращает целое число, равное количеству миллисекунд между указанной датой и 1 января 1970 года UTC. Отрицательные значения соответствуют датам, предшествующим 1 января 1970 г. В приводимой ниже таблицы представлены форматы отображения даты некоторыми методами объекта Date: Метод Результат toString() Sun Sep 14 21:35:08 UTC+0400 2003 toLocaleString() воскресенье, 14 сентября 2003 г. 21:35:08 toGMTString() Sun, 14 Sep 2003 17:35:08 UTC toUTCString() Sun, 14 Sep 2003 17:35:08 UTC toDateString() Sun Sep 14 2003 toLocaleDateString() воскресенье, 14 сентября 2003 г. toTimeString() 21:35:08 UTC+0400 toLocaleTimeString() 21:35:08 51 Объект Math В отличие от других объектов этот объект создавать не надо — он создается интерпретатором автоматически при загрузке документа со сценарием в браузер. Поэтому обращение к его методам и свойства выполняются с использованием его имени Math: Math.PI // число π Math.abs(x) // вычисление абсолютного значение Методы объекта Math Метод Описание abs(x) Абсолютное значение sin(x), cos(x), tan(x) Стандартные тригонометрические функции; аргумент задается в радианах acos(x), asin(x), atan(x) Обратные тригонометрические функции exp(x), log(x) Экспоненциальная функция и функция натурального логарифма ceil(x) Наименьшее целое, большее или равное значению аргумента floor(x) Наибольшее целое, меньшее или равное значению аргумента min(x,y), max(x,y) Наибольшее или наименьшее значение двух аргументов pow(x,y) Показательная функция: pow(x,y)=x y round(x) Округление аргумента до ближайшего целого sqrt(x) Квадратный корень atan2(y,x) Возвращает угол в радианах между осью Х и направлением на точку (х,у). random() Возвращает случайное число между 0 и 1. Генератор случайных чисел запускается автоматически при загрузке ядра JavaScript. |