Встроенные объекты Array, Date, Math

Объект Array

Массив является объектом и имеет ряд свойств и методов. Единственным свойством массива является length, которое показывает количество элементов, содержащихся в массиве.

Ниже описаны основные методы массивов:

concat([item1 : { Object | Array } [, ... [, itemN : { Object | Array }]]]]) : Array – возвращает массив, состоящий из исходного массива и любого количества новых элементов;

join(separator : String) : String – возвращает строку, содержащую все элементы массива, разделенные строкой;

pop() : Object – удаляет последний элемент массива и возвращает его;

push([item1 : Object [, ... [, itemN : Object]]]) : Number – добавляет в конец массива новые элементы; если один из аргументов – массив, он добавляется как один элемент;

shift() : Object – удаляет первый элемент массива и возвращает его;

sort(sortFunction : Function ) : Array – возвращает отсортированный массив;

unshift([item1 : Object [, ... [, itemN : Object]]]) : Array – добавляет один или больше новых элементов в начало массива.

Объект Date

Объект Date предоставляет набор методов для работы с датой и временем.

Текущее время в объекте Date берется из операционной системы. Дата и время в объекте Date хранятся в виде числа, показывающего количество миллисекунд, прошедшее с 1 января 1970 года. Также следует помнить, что нумерация месяцев и дней недели начинается также с нуля, нулю соответствует воскресенье.

У объекта Date два конструктора с разными наборами параметров:

function Date( [dateVal : { Number | String } ] ) – если тип параметра – число, оно воспринимается как количество миллисекунд с 1 января 1970 года; если строка, то она преобразуется в соответствии с шаблоном "month dd, yyyy hh:mm:ss";

function Date( year : int, month : int, date : int[, hours : int [, minutes : int [, seconds : int [, ms : int]]]] ) – в качестве параметров передается год, месяц и день, в качестве необязательных параметров может передаваться время.

Если при создании экземпляра объекта Date никаких параметров не передается, то этому экземпляру присваивается текущая дата.

Приведем некоторые методы объекта Date. Они начинаются с префикса set и устанавливают определенные значения. Существует также аналогичный набор методов с префиксом get, который возвращает атрибуты объекта Date.

setDate(numDate : Number) – устанавливает день в месяце, если устанавливаемое значение больше количества дней в месяце, то устанавливается следующий месяц и день, равный numDate минус количество дней в текущем месяце. Например, если текущая дата 10 января 2008 года и в setDate() передается число 33, то дата станет 2 февраля 2008 года. Если в setDate() передается отрицательное значение, то поведение в этом случае аналогично;

setFullYear(numYear : Number [, numMonth Number [, numDate Number]]) – устанавливает год, в качестве необязательных параметров можно указать месяц и день;

setHours(numHours : Number [, numMin : Number [, numSec : Number [, numMilli : Number ]]]) – устанавливает часы, необязательными параметрами являются минуты, секунды и миллисекунды;

setMilliseconds(numMilli : Number) – устанавливает миллисекунды;

setMinutes(numMinutes : Number [, numSeconds : Number [, numMilli : Number]]) – устанавливает минуты, необязательными параметрами являются секунды и миллисекунды;

setMonth(numMonth : Number [, dateVal : Number]) – устанаваливает месяц, необязательный параметр – день от начала месяца;

setSeconds(numSeconds : Number [, numMilli : Number]) – устанавливает секунды, необязательный параметр – миллисекунды;

setTime(milliseconds : Number) – устанавливает время в миллисекундах, прошедших с 1 января 1970 года.

Важное значение имеет метод parse, который преобразует дату в строку по заданному шаблону. Для более подробной информации по преобразованию даты в строку смотрите MSDN Library.

<!-- пример # 3: часы. Использование методов объекта Date -->

<html> <head>

<title>Clock</title>

<script type="text/JavaScript">

function clockform()

{d=new Date();

time=d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();

document.formcl.fclock.value=time;

setTimeout("clockform()",100); }

</script>

</head>

<body onLoad="clockform()">

<center>

<form name=formcl metod="get">

<input name=fclock maxlength=8 size=8>

</form> </center>

</body></html>

Объект Math

Объект Mathсодержит в себе набор констант и методов, расширяющих базовые арифметические операции.

Невозможно создать экземпляр объекта Math, так как он является статиче-
ским и создается автоматически во время выполнения скрипта.

Приведем пример возведения числа в степень:

alert(Math.pow(10,3));

//выведет 1000

<!--пример # 4: функция вычисления площади круга -->

<html>

<head>

<title>Функция вычисления площади круга </title>

</head>

<body>

<script type="text/javascript">

function sq(r) {

document.write("Задали r= ", r ,

" для функции.","<BR>")

return Math.PI*r * r;

}

var r=2;

document.write("Площадь круга равна ",sq(r),".")

</script>

</body> </html>

Объекты window и document

Объектная модель JavaScript предоставляет возможность работы с объектами, зависящими от браузера (window,navigator,location и т.д.) и объектами, относящимися к HTML-документу (document,forms,frames и т.д.);

Ниже представлена схема документа, которая позволяет манипулировать свойствами и структурой документа.

Встроенные объекты Array, Date, Math - student2.ru

Объект windowявляется объектом верхнего уровня в иерархии JavaScript. Ссылки self и window являются синонимами для текущего окна. Вы можете закрыть текущее окно, используя window.close() или self.close().Ссылка top указывает на самое верхнее окно, а parent ссылается на окно, содержащее frameset. Когда вы открываете или закрываете окно внутри события, необходимо определить window.open() или window.close() вместо open() или close(), так как вызов close()

В следующем примере рассмотрим использование метода window.open() для открытия минимизированного окна.

<!-- пример # 5: минимизация окна и его удаление-->

<html> <head>

<title> Минимизация окна </title>

<script type="text/JavaScript">

function makeicon()

{

window.open("pr1.htm","icon", //открытие окна

"resizable=yes,scrollbars=yes,width=50,height=70");

window.close(); //закрытие старого окна

}

</script>

</head><body>

<h1>minimize page</h1>

<form name=formicon>

<input name=ibutton type=button value=mini onClick="makeicon()">

</form>

</body></html>

Метод open() открывает новое окно web-браузера. Синтаксис:

[windowVar=][window].open("URL", "winName", "windowFeatures"])

windowVar – имя нового окна; URL определяет URL, открываемый в новом окне; winName – имя окна; windowFeatures – список через запятую любых из следующих опций или значений:

toolbar[=yes | no] – создает стандартные рабочие инструменты с такими кнопками, как "Back" и "Forward";

location[=yes | no] – создает поле ввода Location;

directories status[=yes | no] – создает строку состояния внизу окна;

menubar[=yes | no] – создает меню вверху окна;

scrollbars[=yes | no] – создает горизонтальную и вертикальную прокрутки, когда документ больше, чем размер окна;

resizable[=yes | no] – позволяет пользователю изменять размер окна;

width=pixels,height=pixels – размеры окна в пикселях.

Опции разделяются запятой. Не делайте пробелов между опциями!

Следующие объекты являются наследниками объекта window: document,frame,location.

Методы:alert(),confirm(),prompt(),open(),close(),setTimeout(),ClearTimeout(). События: onLoad,onUnload .

В систему введено свойство opener, которое определено для текущего окна или фрейма, а методы blur и focus распространены на работу с окнами. Свойство opener определяет окно документа, который вызвал открытие окна текущего документа. Свойство определено для любого окна и фрейма. Если нужно выполнить некоторые действия по отношению к окну, открывшему данное окно, то можно использовать выражение типа: window.opener.[method]. Например, если требуется закрыть окно-предшественник, то можно выполнить метод close(): window.opener.close()

Можно менять и другие свойства объектов в окне-предшественнике. Например, для окна-предшественника определить голубой цвет в качестве цвета фона: window.opener.document.bgColor ='cyan'

Следующий пример переназначает для текущего окна окно-предшественник:

window.opener= new_window

Объект Document

Объект Document содержит ряд свойств и методов, позволяющих изменять сам документ. В следующем примере используется массив all, содержащий все элементы документа для вывода списка используемых на странице тегов.

<!--пример # 6: список используемых на странице тегов -->

<html> <head>

<title> Список используемых на странице тегов </title>

<script type="text/javascript">

function findtags()

{var tag;

var tags="страница содержит следующие теги";

for(i=0;i<document.all.length;i++)

{tag=document.all(i).tagName;

tags=tags+"\r"+tag;}

alert(tags);

return tags;}

</script>

</head>

<body onload="findtags()">

<h2 onMouseover="findtags()">Вывод списка используемых на

странице тегов в окно предупреждений </h2>

</body> </html>

<!-- пример # 7: изменение фона документа при выборе кнопки - цвета с помощью свойства bgColor объекта Document -->

<html> <head>

<title>bgcolor</title>

</head>

<body text=000000 bgcolor=ffffff>

<table border=0 align=center>

<tr><td><form>

<input type=button value="красный"

onClick= "document.bgColor ='ff0000'" >

<input type=button value="желтый"

onClick="document.bgColor ='ffff00'">

<input type=button value="синий"

onClick="document.bgColor= '0000ff'">

<input type=button value="голубой"

onClick="document.bgColor= '87ceeb'">

</form></td>

</table>

</body> </html>

Наши рекомендации