Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Интернет технологии -> JavaScript -> Программирование в JavaScript


1.7 Встроенные объекты и их методы.

Некоторые объекты встроены в JavaScript и могут использоваться как в клиенте, так и на сервере. Ими являются объекты типа Array, Boolean, Date, Function, Math, Number, and String.

1.7.1 Объекты Array.

JavaScript не имеет явного типа данных -массив(array). Однако, можно использовать встроенный объект Array и его методы и работать с массивами в приложениях. Объект Array имеет методы для соединения, перевертывания и сортировки массивов. У него есть свойство для определения длины массива. Массив есть упорядоченный набор значений, к которым можно обратиться по имени и индексу. Создание массивов:

1. arrayObjectName = new Array([arrayLength])

2. arrayObjectName = new Array([element0, element1, ..., elementn])

аrrayObjectName является или названием нового объекта или свойством существующего объекта, аrrayLength - начальная длина множества. Можно получить доступ к этому значению используя свойство length; elementn - список значений для элементов множества, когда использована вторая форма инициализации массива, его длина определяется количеством аргументов.

Объект Array имеет следующие методы:

- join - связывает все элементы массива в строку;

- reverse переворачивает элементы массива: первый элемент становится последним и наоборот;

- sort сортирует элементы массива.

Например, предположим, что мы определяем следующий массив:

myArray = new Array("Wind","Rain","Fire")

тогда myArray.join() возвратит "Wind,Rain,Fire";

myArray.reverse преобразует массив так, что myArray[0] есть"Fire", myArray[1] есть "Rain", и myArray[2] есть "Wind".

myArray.sort сортирует элементы массива в лексикографическом порядке, так что myArray[0] есть "Fire", myArray[1] есть "Rain", и myArray[2] есть "Wind".

Определение элементов массива. Можно определять элементы массива с помощью оператора присваивания, например:

emp[1] = "Casey Jones"

emp[2] = "Phil Lesh"

emp[3] = "August West"

Можно это сделать при при создании массива:

myArray = new Array("Hello", myVar, 3.14159)

В следующем примере создается двумерный массив и выводится на экран.

a = new Array(4)
for (i=0; i < 4; i++) {
   a[i] = new Array(4)
   for (j=0; j < 4; j++) {
      a[i][j] = "["+i+","+j+"]"
   }
}
for (i=0; i < 4; i++) {
   str = "Row "+i+":"
   for (j=0; j < 4; j++) {
      str += a[i][j]
   }
   document.write(str,"<p>")
}

Этот пример показывает следующие результаты:

Row 0:[0,0][0,1][0,2][0,3]

Row 1:[1,0][1,1][1,2][1,3]

Row 2:[2,0][2,1][2,2][2,3]

Row 3:[3,0][3,1][3,2][3,3]

Можно обратиться к элементам массива используя значение элемента или его индекс. Например, в следующем примере myArray = new Array("Wind","Rain","Fire") Можно обратиться к первому элементу массива как myArray [0] или myArray ["Wind"].

1.7.2 Объекты Boolean.

Встроенные объекты Boolean нужно использовать тогда, когда необходимо преобразовать не-boolean значение в boolean значение. Можно использовать Boolean в любом месте JavaScript, где ожидается значение такого типа. JavaScript возвращает значение объекта Boolean автоматически вызывая метод valueOf.

Создание объектa Boolean:

booleanObjectName = new Boolean(value)

booleanObjectName - или имя нового объекта или свойство существующего, value - начальное значение объекта. Значение преобразуется к типу boolean, если необходимо. Если значение опущено или 0, null, false или пустая строка "", объект инициализируется значением false, Во всех других случаях, включая строку "false", создается объект с начальным значением true. В следующем примере создаются два объекта Boolean

bfalse = new Boolean(false)

btrue = new Boolean(true)

1.7.3 Объект Date.

JavaScript не имеет данных типа date. Однако, можно использовать объект Date и его методы для работы с датами и временами в приложениях. Объект Date имеет большое количество методов для установки, получения, и управления датами. У него нет свойств. JavaScript обращается с датами подобно языку Java. Эти два языка имеют много одинаковых методов и хранят даты как число миллисекунд. прошедших с 1 января 1970г, 00:00:00.

Примечание. В настоящее время нельзя работать с датами до 1 января 1970г.

Создание объекта Date:

dateObjectName = new Date([parameters])

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

- опущены: создается текущие дата и время, например, today= new Date();

- определяется строка в формате "месяц день, год часы:минуты:секунды", например, Xmas95 =new Date("December 25, 1995 13:30:00"). Если опускаются часы, минуты или секунды они устанавливаются в нуль;

- задается целое значение года, месяца и дня, например, Xmas95 = new Date(95,11,25).

- задается целое значение года, месяца, дня, часов, минут, секунд.

Методы объекта Date. Методы для обработки дат и времен можно разделить на следующие категории:

  • - "set" методы, для установки дат и времен;
  • - "get" методы, для получения дат и времен;
  • - "to" методы, для получения строковых значений;
  • - parse и UTC методы, для грамматического разбора строк с датами.

С помощью "get" и "set" методов можно получать и устанавливать секунды, минуты, часы, дни месяца, дни недели, месяцы, и годы независимо друг от друга. Имеется метод getDay, возвращающий день недели, но нет соответствующего метода setDay, поскольку день недели устанавливается автоматически.

В методах используются следующие целые значения:

-секунды и минуты: 0 - 59

-часы: 0 - 23

-день недели: 0 - 6

-день месяца: 1 - 31 -месяц: 0 (январь) - 11 (декабрь)

-год: с 1900

Например, если вы установили следующую дату:

Xmas95 = new Date("December 25, 1995")

то Xmas95.getMonth() возвратит 11, а Xmas95.getYear() возвратит 95. Методы getTime и setTime полезны для сравнения дат. Метод getTime возвращает число миллисекунд начиная с 01.01.1970. Следующий пример выводит число дней, прошедших в текущем году:

today = new Date()

endYear = new Date("December 31, 1990") // Установили день и месяц endYear.setYear(today.getYear()) // Установили текущий год

msPerDay = 24 * 60 * 60 * 1000 // Число миллисекунд за день

daysLeft = (endYear.getTime() - today.getTime()) / msPerDay

daysLeft = Math.round(daysLeft) document.write("Number of days left in the year: " + daysLeft)

В этом примере создается объект Date c именем today, который содержит текущую дату. endYear определяет начало текущего года. Тогда, используя число миллисекунд за день, вычисляем число дней между today и endYear, используя getTime, и округляем число дней до целого.

Метод parse полезен для присваивания даты существующему объекту из строкового значения. Например, следующий пример использует parse и setTime для назначения даты объекту mydate:

mydate = new Date() mydate.setTime(Date.parse("Aug 9, 1995"))

Пример использования объекта Date. В этом примере в HTML области показываются непрерывно обновляемые цифровые часы. Это осуществимо, поскольку есть возможность динамически изменить содержание области текста в JavaScript (в отличие от обычного текста, который нельзя модернизировать без перезагрузки документа). Вывод в навигаторе выглядит следующим образом:

The current time is

Раздел <BODY> документа выглядит так:

<BODY onLoad="JSClock()">

<FORM NAME="clockForm"> The current time is <INPUT TYPE="text" NAME="digits" SIZE=12 VALUE=""> </FORM> </BODY>

Тег <BODY> включает обработчик событий onLoad. Когда страница загружается обработчик вызывает функцию JSClock, определяемую в разделе <HEAD>. Форма clockForm включает простое текстовое поле digits, в котором инициализирована пустая строка. В разделе <HEAD> документа JSClock определяется следующим образом:

<HEAD> <SCRIPT language="JavaScript">

<!-- function JSClock() {

var time = new Date()

var hour = time.getHours()

var minute = time.getMinutes()

var second = time.getSeconds()

var temp = "" + hour

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

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

document.clockForm.digits.value = temp

id = setTimeout("JSClock()",1000) } //-->

</SCRIPT>

Функция JSClock сначала создает новый объект Date, с именем time; так как аргументы не заданы, устанавливаются текущие значения. Запросы к getHours, getMinutes, и getSeconds выделяют значение текущего часа, минуты и секунды. Следующие четыре оператора строят строковое значение времени. Полученное значение присваивается области текста: document.clockform.digits.value = temp, тем самым время будет показано в документе. Конечный оператор в функции - рекурсивный запрос к JSClock: id=setTimeout("JSClock()",1000) Встроенная в JavaScript функция setTimeout определяет время задержки для для обращения к JSClock. Второй аргумент указывает задержку в 1000 миллисекунд. Таким образом модернизируется показ времени в форме с интервалом одна секунда. Обратите внимание, функция возвращает значение присваиваемое id, которое в данном случае нигде не используется, но может быть использовано в методе clearTimeout для обнуления.

1.7.4 Объект Function.

Создание объекта Function:

functionObjectName = new Function ([arg1, arg2, ... argn], functionBody)

functionObjectName - имя переменной или свойство существующего объекта. При использовании свойств функции, functionObjectName должен быть или именем существующего объекта или свойством существующего объекта. аrg1, arg2, ... argn - аргументы, которые используются функцией как формальные параметры. Каждый из параметров должен быть строкой, которая допустима в JavaScript как идентификатор; например " x "или"theForm ". functionBody - строка, специфицирующая JavaScript-коды, которые нужно компилировать как тело функции.

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

Следующий пример назначает функцию переменной setBGColor. Эта функция устанавливает цвет фона текущего документа.

var setBGColor = new Function("document.bgColor='antiquewhite'")

Для вызова объекта Function, нужно специфицировать имя переменной, как будто это функция, например:

var colorChoice="antiquewhite" if (colorChoice=="antiquewhite") {setBGColor()}

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

  1. document.form1.colorButton.onclick=setBGColor
  2. <INPUT NAME="colorButton" TYPE="button" VALUE="Change background color" onClick="setBGColor()">

Создание переменной setBGColor похоже на обычное декларирование функции.

function setBGColor() { document.bgColor='antiquewhite' }

Назначение функции переменной подобно объявлению функции, но есть различия: когда для функции назначается переменная setBGColor = new Function("..."), setBGColor является переменной, текущее значение которой относиться к функции, созданной с помощью new Function(), когда создается функция с помощью function setBGColor() {...}, setBGColor не является переменной, это имя функции.

1.7.5 Объект Math.

Встроенный объект Math имеет свойства и методы для ма- тематических констант и функций. Например, свойство PI объекта Math имеет значение 3.141..., который можно использовать как Math.PI Стандартные математические функции являются методами Math. Они включают тригонометрические, логарифмические, показательные, и другие функции. Например, если нужно использовать синус, следует писать Math.sin (1.56) Обратите внимание что все тригонометрические методы Math используют аргументы в радианах. В следующей таблице приведены методы Math.

Метод Описание
abs абсолютное значение
sin, cos, tan стандартные тригонометрические функции, аргумент в радианах
acos, asin, atan обратные тригонометрические функции, возвращают значение в радианах
exp, log экспонента и натуральный логарифм
ceil возвращает наименьшее целое, большее или равное аргументу
floor возвращает наибольшее целое, меньшее или равное аргументу
min, max возвращает меньшее или большее (соответственно) из двух аргументов
pow возведение в степень, первый аргумент основание, второй показатель степени
round округляет аргумент до ближайшего целого
sqrt квадратный корень

Часто удобно использовать оператор with, когда есть раздел, в котором используется набор констант и методов, чтобы не повторять слово "Math".

Например:

with (Math) { a = PI * r*r; y = r*sin(alfa); x = r*cos(alfa) }

1.7.6 Объект Number.

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

biggestNum = Number.MAX_VALUE

smallestNum = Number.MIN_VALUE

infiniteNum = Number.POSITIVE_INFINITY

negInfiniteNum = Number.NEGATIVE_INFINITY

notANum = Number.NaN

В следующей таблице приведены свойства Number:

Название Описание
MAX_VALUE наибольшее значение
MIN_VALUE наименьшее значение
NaN неопределенность
NEGATIVE_INFINITY отрицательная бесконечность
POSITIVE_INFINITY положительная бесконечность

1.7.7 Объект String.

У JavaScript нет типа данных string. Однако можно пользоваться объектом String и его методами для работы со строками в прилoжениях. Этот объект имеет множество методов и одно свойство - длину строки.

Создание объекта String:

stringObjectName = new String(string)

stringObjectName - имя нового объекта String, string - любая строка.

Например, следующий оператор создает объект String, названный mystring:

mystring = new String ("Hello, World!")

аналогичные действия выполняет и оператор:

mystring="Hello, World!"

Строковые литералы также являются объектами String. Свойство length для строки указывает число символов в ней, так x = mystring.length присвоит значение х равное тринадцати, потому что "Hello, World!" имеет 13 символов.

Объект String имеет два типа методов - те, которые возвращают в качестве результата преобразованную исходную строку (как, например, подстроку или строку, у которой все символы переведены в верхний регистр) и те, которые возвращают строку в формате HTML (например link).

Например mystring.toUpperCase() and "hello,world!".toUpperCase() возвратят строку "HELLO, WORLD!". Метод substring имеет два аргумента и возвращает подстроку, располагающуюся между указанными номерами, например, mystring.substring(4, 9) возратит строку "o,Wo".

Методы bold и link используются для HTML- форматирования, первый создает жирный текст, второй гипертекстовую ссылку. Например, для создания ссылки к гипотетическому URL с помощью метода link можно воспользоваться следующим оператором:

mystring.link("http://www.helloworld.com")

Следующая таблица показывает методы объектов Sring:

Метод описание
anchor создает HTML-якорь
big, blink, bold, fixed, italics, small, strike, sub, sup создает строку HTML, соответствующего вида
charAt возвращает символ по его номеру в строке
ndexOf, lastIndexOf возвращают первую (последнюю) позицию специфицированной подстроки
link создает гипертекстовую ссылку
split разбивает объект String на массив подстрок
substring извлекает подстроку из строки
toLowerCase, toUpperCase возвращает строку в нижнем или верхнем регистре, соответственно

[ Оглавление ]   [ Дальше ]

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.