6391

Объекты в языке JavaScript

Контрольная

Информатика, кибернетика и программирование

Объекты. В языке JavaScript не предусмотрены средства для работы с классами в том виде, в котором они реализованы в C++ или Java. Разработчик сценария не может создать подкласс на основе существующего класса, переопределить метод или выполнить какую...

Русский

2013-01-03

106.95 KB

7 чел.

Объекты.

В языке JavaScript не предусмотрены средства для работы с классами в том виде, в котором они реализованы в C++ или Java. Разработчик сценария не может создать подкласс на основе существующего класса, переопределить метод или выполнить какую-либо другую операцию с классом. Сценарию, написанному на языке JavaScript, в основном доступны лишь готовые объекты. Построение нового объекта приходится выполнять лишь в редких случаях.

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

Кроме того, разработчику сценария на языке JavaScript доступны объекты, не связанные непосредственно с HTML-документом. Их называют предопределёнными, или независимыми объектами. С помощью этих объектов можно реализовать массив, описать дату и время, выполнить математические вычисления и решить некоторые другие задачи.

Следует заметить, что в JavaScript предусмотрены средства для создания новых объектов, однако они слишком просты по сравнению с механизмом поддержки классов, имеющимся в C++ и Java.

Первый объект, с которым нам необходимо познакомиться, чтобы написать простейший сценарий это объект Document который описывает HTML-документ, отображаемый в окне браузера. Ниже приведён исходный текст Web-страницы, содержащей сценарий, действия которого сводятся к выводу строки текста в окне браузера.

<HTML>

<HEAD> <TITLE>Первый сценарий JavaScript</TITLE> </HEAD>

<BODY>

<SCRIPT LANGUAGE=”JavaScript”>

document.write ("Это мой первый сценарий JavaScript”);

</SCRIPT>

</BODY>

</HTML>

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

Переменные.

Как уже упоминалось выше, в сценариях JavaScript переменные могут хранит данные любых типов: числа, строки текста, логические значения, ссылки на объекты, а также специальные величины, например «нулевое» значение null или значение NaN, которое свидетельствует о недопустимости операции.

Переменная в языке JavaScript объявляется с помощью ключевого слова var. Так например, выражение

var selected=“first object”;

создаёт переменную с именем select и присваивает ей в качестве значения строку символов “first object”.

Операции.

Описание большинства операторов JavaScript сведём к одной фразе: набор операторов, их назначение и правила использования в основном совпадают с принятыми в языке Java. В JavaScript даже поддерживается специфический для Java оператор «>>>».

В JavaScript символ «+» определяет как суммирование числовых значений, так и конкатенацию строк.

Управляющие конструкции.

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

В JavaScript дополнительно определены языковые конструкции, отсутствующие в Java, а именно: операторы for…in и with.

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

переменная=new тип_объекта (параметры)

Функции.

Функции в языке JavaScript немногим отличаются от привычных вам функций в языке C. Формат объявления функции приведён ниже.

function имя_функции ([параметры])

{

Тело функции

}

Однако, в отличие от C, тип возвращаемого значения и типы параметров не задаются. Причина очевидна: в языке JavaScript типы попросту не поддерживаются. Ниже показаны дна способа вызова функции

имя_функции ([параметры]);

переменная=имя_функции ([параметры]);

Во втором случае значение, возвращаемое функцией, присваивается указанной переменной.

Область видимости переменных.

При работе с функциями возникает вопрос: «Отличаются ли локальные переменные, объявленные в теле функции, от глобальных переменных, объявленных за пределами?»

Работа с переменными в теле функции подчиняется следующим правилам.

  1.  Если переменная объявлена с помощью ключевого слова var, доступ к ней осуществляется по правилам, подобным тем, которые используются в языке C.
  2.  Переменная, объявленная внутри функции, считается локальной. Область видимости такой переменной ограничивается телом функции, в которой она объявлена.
  3.  Переменная, объявленная вне функции, считается глобальной. К ней можно обращаться из любой точки сценария.
  4.  Если локальная и глобальная переменные имеют одинаковые имена, то в теле функции локальная переменная «маскирует» глобальную.
  5.  Если переменная создается автоматически, т. е. если она не объявлена с помощью ключевого слова var, но присутствует в левой части оператора прямого присваивания, то она считается глобальной и становится доступной из любой точки сценария.

Иерархия объектов.

Все объекты связаны между собой и образуют иерархическую структуру, показанную на рис. 9.3.

Несмотря на то что Web-браузер представляет собой объект, на вершине иерархии расположен не он, а окно браузера объект типа Window. В этом окне отображается текущий документ, т. е. документ, в котором содержится код сценария. Обращение к окну браузера выполняется по имени window (синонимом имени Window является имя self).

Связи между объектами различных уровней, представленные на рис. 9.3, означают, что объект верхнего уровня содержит ссылку на объект нижнего уровня.

Исключением является объект Location. Из рис. 9.3 видно, что на этот объект ссылается как объект Window, так и объект Document. В объекте Document ссылка на объект Location также содержится в свойстве с именем location.

Некоторые интерпретаторы JavaScript считают, что свойство location объекта Document должно быть защищено от записи. Поэтому обращение к объекту Location через свойство location объекта Window и через одноимённое свойство объекта Document могут дать различные результаты.

Чтобы обратиться к свойству или метолу объекта, надо использовать выражение

объект.свойство

или

объект.метод ()

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

  1.  window.navigator.appName  имя браузера.
  2.  window.document.bgColor  цвет фона документа.
  3.  window.location.protocol (или window.document.location.protocol) имя протокола, использованного для получения текущего документа.
  4.  window.alert («строка_текста») вывод на экран окна с сообщением. Текст сообщения передаётся методу alert () в качестве параметра.
  5.  window.document.open ()  открывает поток, позволяющий присоединять данные к документу.

Обращаясь к свойствам и методам текущего окна, имя window можно не указывать.


 

А также другие работы, которые могут Вас заинтересовать

23519. ПРАСЛАВЯНСКАЯ ПИСЬМЕННОСТЬ 1.77 MB
  Я их расшифровал каждый значок озвучил и у меня получился набор слоговых знаков т. При сопоставлении знаков типа черт и резов с кириллицей и глаголицей болгарской и хорватской обнаружены 23 знака совпадающие по форме. Итак Кирилл заимствовал знаки своего алфавита из более древнего славянского письма О том же свидетельствует и послание папы Иоанна VIII. Большой ареал правда это трипольские земли трипольский уровень И там я впервые встретил знаки которые абсолютно идентичны чертам и резам Расцвет трипольской культуры приходится...
23520. Applying Experimental Archaeology to Ethnomusicology: Recreating an Ancient Maya Friction Drum through Various Lines of Evidence 165 KB
  The caption for Figure 11 reads simply Dance with drums string instrument and conch trumpet Schele Mathews 1998:Figure 11. Instead this object is most likely a friction drum Rene Lysloff personal communication an object also not known to have existed in PreContact America. The idea of the friction drum has been discussed in the archaeological literature before.
23521. The Transformation of Xbalanqué or The Many Faces of God A 1.91 MB
  There are images from Izapa Figure 1 and on EarlyClassic vessels Figure 2 which for example confirm the story of the killing of Vucub Caquix the major bird deity. Figure 3 The headband is probably the most important iconographic tool that we can use in identifying the Hero Twins. Even these strange characters Figure 4 largely ignored are headbanded Hero Twins. These depictions of the Hero Twins do not fit the standard form of the twins yet the figure on K1207 Fig.
23522. History of the Mexicans as Told by Their Paintings 266 KB
  This edition is the only available complete English translation published one year after Joaquín García Icazbalceta first published the Spanish text in the Anales del Museo Nacional de México. Of the Mexican Year. Vchilobi 7 the younger brother and god of the Mexicans was born without flesh naciò sin carne but only bones in which condition he lived six hundred years during which period of time the gods did nothing whatever the father as well as the sons and in their representation there is no account taken of these six hundred...
23523. ПРОСТРАНСТВЕННО-ХРОНОЛОГИЧЕСКИЕ АСПЕКТЫ ИНДОЕВРОПЕЙСКОЙ ПРОБЛЕМЫ И КАРТА ПРЕДПОЛАГАЕМЫХ ПРАРОДИН ШЕСТИ НОСТРАТИЧЕСКИХ ЯЗЫКОВ 147.5 KB
  Очевидно что на карте помещены прародины праязыков потомков ностратических языков и что эта картина на несколько тысячелетий отстоит от эпохи ностратического единства датируемого А. Долгопольским VIII тыс. Хелимского: Этот период отделен от нас не одним десятком тысячелетий его ареалом был Южный Прикаспий [3 с. Терентьева считающих что по данным глоттохронологии возраст ностратической макросистемы определяется около 15 тыс.
23524. Водский язык в 19 – 20 веках 294.5 KB
  А теперь как здороваться и прощаться: Terve Tere päivä Тэрве Тэрэпяйвя Здравствуйте Добрый день Tere oomnikkoa Тэрэ оомниккоа Доброе утро Tere õhtagoa Тэрэ ыхтагоа Добрый вечер Jäämm yvässi Яямм ювясси До свидания Познакомимся теперь с так называемыми кумулятивными рунами: Kuza piippu Ađđaa nalla. Возьмем глаголы из прошлого урока и образуем от них будущее время: valaa €œналивать€ valavad €œналивают€ nõizõn valamaa €œбуду наливать€ juvva €œпить€ joovad €œпьют€ nõizõn joomaa €œбуду пить€ syvvä €œесть€ ...
23525. Повседневный арабский язык 1.95 MB
  Что касается ритма занятий то было бы оптимально если бы Вы прослушивали каждый день по новому разговору. Предисловие для преподающих арабский язык Дорогие коллеги Данный материал может быть использован для занятий как в группе так и индивидуально. Это господин Али альХаляби. Меня зовут Али альХаляби.
23526. АРАБСКИЙ ЯЗЫК В ДИАЛОГАХ 590 KB
  Разговор 3 В гостинице اَلْحِوَارُ اَلثَالِثُ فِي اَلْفُنْدُقِ Добрый вечер يُورِي: مَسَاءُ اَلْخَيْرِ Добрый вечер سَعِيدْ: مَسَاءُ اَلْخَيْرِ Меня зовут Юрий Кабанов. شُكْراً جَزِيلاً Не за что прощение اَلْعَفْوُ Разговор 6 Телефонный разговор مُكَالَمَةٌ هَاتِفِيَّةٌ Алло أَلُو Да кто на линии на проводе نَعَمْ، مَنْ عَلَى اَلْخَطِّ؟ Я Юрий из Москвы. Добро пожаловать господин Юрий Где ты сейчас أَهْلاً وَسَهْلاً يَا سَيِّدْ يُورِي أَيْنَ أَنْتَ اَلآنَ؟ Я сейчас в городе Фес в гостинице. Основная часть Разговор 1...
23527. Словарь шумеро-аккадского языка 849 KB
  Составление первого подобного словаря на русском языке при отсутствии картотеки картотека составлявшаяся в течение многих лет погибла во время Отечественной войны и блокады Ленинграда оказалось делом исключительно трудоемким и создание его потребовало большого напряжения и большой затраты сил хотя словарь этот включает только не большое число текстов рассчитанных для чтения на первых двух курсах обучения в университете и естественно не может претендовать на полноту. Струве вполне отвечает научным требованиям составления...