Внутренние объекты JavaScript



Внутренние объекты не относятся к браузеру или загруженному в настоящее время HTML-документу. Эти объекты могут создаваться и обрабатываться в любой JavaScript-программе. Они включают в себя простые типы, такие как строки, а также более сложные объекты, в частности даты.

Объект array

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

  • используя определенную пользователем функцию для присвоения объекту многих значений;
  • используя конструктор Array();
  • используя конструктор Object().

Объекты-массивы не имеют ни методов, ни свойств.

Пример:

<SCRIPT LANGUAGE="JavaScript">
myArray= new Array();
myArray[0]= "first element";
myArray[1]= "second element";
myArray[2]= "third element";
for (var i= 0; i< 3; i++)
{
document.write(myArray[i] + "<br>");
}
</SCRIPT>

Объект Date


Объект содержит информацию о дате и времени. Этот объект имеет множество методов, предназначенных для получения такой информации. Кроме того объекты Date можно создавать и изменять, например путем сложения или вычитания значений дат получать новую дату. Для создания объекта Date применяется синтаксис:

dateObj = new Date(parameters)

где dateObj - переменная, в которую будет записан новый объект Date.

Аргумент parameters может принимать следующие значения:
пустой параметр, например date() в данном случае дата и время - системные.
строку, представляющую дату и время в виде: "месяц, день, год, время", например "March 1, 2000, 17:00:00" Время представлено в 24-часовом формате;
значения года, месяца, дня, часа, минут, секунд. Например, строка "00,4,1,12,30,0" означает 1 апреля 2000 года, 12:30.
целочисленные значения только для года, месяца и дня, например "00,5,1" означает 1 мая 2000 года, сразу после полночи, так, как значения времени равны нулю.

Данный объект имеет множество методов, свойств объект Date не имеет.

Методы Date.

  • getDate() Возвращает день месяца из объекта в пределах от 1 до 31
  • getDay() Возвращает день недели из объекта: 0 - вс, 1 - пн, 2 - вт, 3 - ср, 4 - чт, 5 - пт, 6 - сб.
  • getHours() Возвращает время из объекта в пределах от 0 до 23
  • getMinutes() Возвращает значение минут из объекта в пределах от 0 до 59
  • getMonth() Возвращает значение месяца из объекта в пределах от 0 до 11
  • getSeconds() Возвращает значение секунд из объекта в пределах от 0 до 59
  • getTime() Возвращает количество миллисекунд, прошедшее с 00:00:00 1 января 1970 года.
  • getTimeZoneoffset() Возвращает значение, соответствующее разности во времени (в минутах)
  • getYear()Возвращает значение года из объекта
  • setDate(day) С помощью данного метода устанавливается день месяца в объекте от 1 до 31
  • setHours(hours) С помощью данного метода устанавливается часы в объекте от 0 до 23
  • setMinutes(minutes) С помощью данного метода устанавливаются минуты в объекте от 0 до 59
  • setMonth(month) С помощью данного метода устанавливается месяц в объекте от 1 до 12
  • setSeconds(seconds)С помощью данного метода устанавливаются секунды в объекте от 0 до 59
  • setTime(timestring)С помощью данного метода устанавливается значение времени в объекте.
  • setYear(year) С помощью данного метода устанавливается год в объекте year должно быть больше 1900.
  • toGMTString()Преобразует дату в строковый объект в формате GMT.
  • toString()Преобразует содержимое объекта Date в строковый объект.
  • toLocaleString() Преобразует содержимое объекта Date в строку в соответствии с местным временем.
  • Date.UTC(year, month, day [,hours][,mins][,secs]) Возвращает количество миллисекунд в объекте Date, прошедших с с 00:00:00 1 января 1970 года по среднему гринвичскому времени.

Разберем пару примеров:
В 1-ом примере приведен HTML-документ, в заголовке которого выводится текущие дата и время.

<html>
<head>
<script language "JavaScript">
<--
function showh() {
var theDate = new Date();
document.writeln("<table cellpadding=5 border=0>" +
"<tr><td bgcolor=gray align=left>" +
"<font color=white>Date: " + theDate +
"</font></td></tr></table><p>");
}
showh();
//-->
</script>
</head>
</html>

Разберем еще один пример. Пусть меняются графические бэкграунды в зависимости от времени суток.

<html>
<script language "JavaScript">
<--
theTime = new Date();
theHour = theTime.getHours();
if (18 > theHour)
document.writeln("<body background='day.jpg' text='Black'>");
else
document.writeln("<body background='night.jpg' text='White'>");
//-->
</script>
</body>
</html>

Вероятно, вы успели заметить, что тег <body> создается в JavaScript-программе, а закрывается уже в статическом тексте HTML. Это вполне допустимо, так, как все теги расположены в правильном порядке. В данном примере предполагается, что файлы рисунков находятся в том же каталоге. Вы можете здесь задать полный адрес URL.

Объект Math

Math - встроенный в JavaScript объект, дающий доступ к константам и математическим функциям.Объект Math делится на две части - свойства, содержащие константы и методы для реализации функций. Свойствами объекта Math являются математические константы:

  • E - Константа Эйлера. Приближенное значение 2.718 . . .
  • LN2 - Значение натурального логарифма числа два. Приближенное значение 0.693 . . .
  • LN10 - Значение натурального логарифма числа десять. Приближенное значение 2.302 . . .
  • LOG2_E - Логарифм e по основанию 2
  • LOG10_E - Десятичный логарифм e. Приближенное значение 0.434 . . .
  • PI - Число ПИ. Приближенное значение 3.1415 . . .
  • SQRT2 - Корень из двух

Методы объекта Math представляют собой математические функции:

  • abs() Возвращает абсолютное значение аргумента.
  • acos()Возвращает арккосинус аргумента
  • asin()Возвращает арксинус аргумента
  • atan() Возвращает арктангенс аргумента
  • ceil() Возвращает большее целое число аргумента, округление в большую сторону. Math.ceil(3.14) вернет 4
  • cos() Возвращает косинус аргумента
  • exp() Возвращает экспоненту аргумента
  • floor() Возвращает наибольшее целое число аргумента, отбрасывает десятичную часть
  • log() Возвращает натуральный логарифм аргумента
  • max()Возвращает больший из 2-х числовых аргументов. Math.max(3,5) вернет число 5
  • min() Возвращает меньший из 2-х числовых аргументов.
  • pow() Возвращает результат возведения в степень перврго аргумента вторым. Math.pow(5,3) вернет 125
  • random() Возвращает псевдослучайное число между нулем и единицей.
  • round()Округление аргумента до ближайшего целого числа.
  • sin()Возвращает синус аргумента
  • sqrt() Возвращает квадратный корень аргумента
  • tan() Возвращает тангенс аргумента

Объект String

Объект string представляет собой последовательность символов, ограниченная одинарными или двойными кавычками. Обычно присваивают какой-то переменной строку и используют ее как объект для вызова свойств или методов. Например, s="internet", а свойство s.lenght (длина строки) вернет значение 8. Рассмотрим некоторые методы объекта:

  • Большинство методов соответствует тегам HTML: big(), fontcolor(arg),fontsize(arg), small(), strike(), sub(), sup()
  • anchor - Выводит строку на экран и делает ее якорем - textString.anchor(anchorName)
  • blink - форматирует строковый объект в виде мигающей строки - stringname.blink()
  • bold - Форматирует строковый объект жирным шрифтом - stringName.bold()
  • charAt - Возвращает символ, находящийся в заданной позиции строки - stringName.charAt(arg)
  • eval - Вычисляет строку как числовое выражение - eval(string)
  • fixed - Выводит строку на экран шрифтом фиксированной ширины - stringName.fixed()
  • italics - Отображает текст курсивом аналогично тегу <i> - stringName.italic()
  • lndexOf - Возвращает позицию символа или подстроки в строке, начиная поиск сначала - stringName.lndexOf()
  • lastlndexOf - Возвращает позицию символа или подстроки в строке, начиная поиск с конца - stringName.lastlndexOf()
  • link - Создает новую гиперссылку на другой URL - stringName.link(argument)
  • substring - Позволяет извлечь подстроку длиной arg2, начиная с позиции arg1 - stringName.substring(arg1, arg2)
  • toLowerCase - Преобразует все символы строки к нижнему регистру - stringName.toLowerCase()
  • toUpperCase - Преобразует все символы строки к верхнему регистру - stringName.toUpperCase()

Потомки объектов JavaScript

Некоторые объекты языка JavaScript имеют потомков. В частности, гиперсвязь является объектом, наследованным из объекта document. В языке JS наследованные объекты называются также свойствами. Например, множество гиперсвязей является свойством объекта document, а links - именем этого свойства. Таким образом, трудно провести четкую границу между объектами и свойствами. Гиперсвязь, являясь объектом, в то же время представляет собой свойство links объекта document.
Рассмотрим пример. Напишем простенькую программку и посмотрим, как будут создаваться объекты HTML. Тоесть, при загрузке HTML-документа в браузер соответственно будут созданы HTML-объекты на JavaScript. Теги HTML собственно служат исключительно для удобства написания документа:

<html>
<head>
<title>Пример программы</title>
</head>
<body bgcolor="White">
<form>
<input type="checkbox" checked name="chck1">Item 1
</form>
</body>
</html>

Посмотрим эквивалентную запись на JavaScript

document.title="Пример программы"
document.bgColor="White"
document.forms[0].chck1.defaultChecked=true

Как видно из примера, тегу <title> соответствует свойство document.title, а цвету фона документа, установленному в теге <body>, - свойство document.bgColor. Переключателю checkbox с именем chck1, определенному в форме, соответствует выражение document.forms[0].chck1. Свойство defaultChecked принадлежит объекту checkbox и может принимать значения true или false в зависимости от того, указан ли в теге <input> атрибут checked. Когда этот атрибут задан, переключатель отображается на экране как включенный по умолчанию.
Поскольку документ может включать несколько таких объектов, как гиперсвязи, формы и другие объекты, многие из них являются массивами. Для обращения к определенному элементу массива нужно указать его индекс. Например, forms[0] - первая форма текущего документа. Ко второй форме можно обратиться соответственно forms[1]. Заметьте, что индексы массивов в JS программах всегда начинаются с нуля.
В нашем примере объект верхнего уровня - window, потому, что любой документ загружается в окно. Например, выражения document.forms[0] и window.document.forms[0] обращаются к одному и тому же объекту, а именно к первой форме текущего документа. Однако если необходимо обратиться к форме в другом окне (фрейме), следует использовать выражение вида

parent.frames[n].document.forms[n], где n является индексом нужного элемента массива.
Перечислим объекты.

anchor (anchors[]) Множество тегов <a name> в текущем документе
button Кнопка, создаваемая при помощи тега <input type=button>
checkbox Контрольный переключатель, создаваемый при помощи тега <input type=checkbox>
elements[] Все элементы тега <form>
form (forms[]) Множество объектов тега <form> языка HTML
frame (frames[]) Фреймосодержащий документ
hidden Скрытое текстовое поле, создаваемое при помощи тега <input type=hidden>
images (images[]) Множество изображений (тегов <img>) в текущем документе
link (links[]) Множество гиперсвязей в текущем документе
navigator Объект, содержащий информацию о браузере, загрузившем документ
password Поле ввода пароля, создаваемое при помощи тега <input type=password>
radio Селекторная кнопка (radio button), создаваемая при помощи тега <input type=radio>
reset Кнопка перегрузки, создаваемая при помощи тега <input type=reset>
select (options[]) Элементы <option> объекта <select>
submit Кнопка передачи данных, создаваемая при помощи тега <input type=submit>
text Поле ввода, сооздаваемое при помощи тега <input type=text>
textarea Поле текста, создаваемое при помощи тега <textarea>

Объекты, которым соответствует массивы, являются многомерными объектами. В некоторых HTML-тегах можно определить несколько элементов, например множество элементов списка в теге <select>. Рассмотрим тег <select>, содержащий два элемента:

<form>
<select name="primer">
<option>Опция1
<option>Опция2
</select>
</form>

Тег <select> сам по себе является объектом, однако для обращения к отдельным элементам этого объекта (тегам <option>) используется массив option. Данный массив представляет собой множество значений, которые соответствует тегам <option>, содержащимся в теге <select>. В нашем примере создается два объекта: первый - объект select в целом (к нему обращаются, чтобы выяснить, сколько элементов он фактически соодержит), второй - массив options (он позволяет обращаться к отдельным элементам, содержащимся в первом объекте). Таким образом, некоторые объекты могут использовать объекты-массивы для обращения к содержащимся в них элементам. Однако это не является правилом, все зависит от структуры рассматриваемых объектов и тех объектов, из которых они унаследованы. Например, HTML-тегам <a name> . . . </a> соответствует объект anchor, являющийся элементом массива anchors, и в то же время эти теги встречаются сами по себе, а не в других тегах. Просто родительским объектом (parents) для объекта anchors является объект document, а в документе может быть определено множество меток. Окна тоже могут содержать множество документов, связанных с ними через фреймы.
Ну чтож, рассмотрим теперь каждый объект более подробно.


Дата добавления: 2018-02-28; просмотров: 684; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!