6391

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

Контрольная

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

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

Русский

2013-01-03

106.95 KB

6 чел.

Объекты.

В языке 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 можно не указывать.


 

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

76911. Языкоглоточный нерв. IX пара черепных нервов, их ядра, топография и области иннервации 180.17 KB
  IX пара языкоглоточные нервы смешанные развиваются из заднего мозгового пузыря. Корешки нерва 45 выходят позади оливы продолговатого мозга и сливаются в короткий ствол. Чувствительные узлы нерва: верхний в яремном отверстии нижний в области каменистой ямки височной кости содержат псевдоуниполярные нейроны центральные отростки которых формируют чувствительный корешок нерва.
76912. Блуждающий нерв, его ядра, их топография; ветви и области иннервации 181.14 KB
  Краниальная часть нерва отдает ветви: менингиальную веточку для твердой мозговой оболочки в задней черепной яме; ушную ветвь которая через сосцевидный каналец и барабаннососцевидную щель подходит к коже наружного слухового прохода и ушной раковине. Ветви шейной части: глоточные к глоточному сплетению и через него к слизистой мышцамконстрикторам глотки мышцам мягкого неба кроме напряжителя из тройничного нерва шейные верхние сердечные ветви к сердечным сплетениям гортанные верхние нервы к перстнещитовидной мышце наружная...
76913. Прибавочный и подъязычный нервы 181.56 KB
  Обе пары XI XII по выходе из черепа идут между внутренней яремной веной и внутренней сонной артерией и ложатся под заднее брюшко двубрюшной мышцы. Из черепа ствол нерва выходит через яремное отверстие вместе с IX X парами и внутренней яремной веной занимая при этом латеральное положение. Внутренняя веточка для соединения с блуждающим нервом; наружная ветвь – для трапециевидной и грудиноключичнососцевидной мышц; Наружная ветвь проходит между внутренней яремной веной и внутренней сонной артерией а затем уходит под заднее брюшко...
76914. Вегетативная, автономная нервная система. Вегетативная часть нервной системы, ее деление и характеристика отделов 185.72 KB
  В надсегментарных вегетативных центрах которые располагаются в коре полушарий базальных ядрах мозжечке различают: центры чувствительные по восприятию внутренней рецепции; центры двигательные по координации гладкомышечных и сердечных сокращений в органах и сосудах. Подкорковые вегетативные центры Полосатое тело центры терморегуляции слюно и слезоотделения образования слизи. Ретикулярная формация ствола мозга – зрачковый рефлекс центры дыхания сердечный сосудистый глотания и рвоты и другие регуляции обмена веществ и...
76915. Парасимпатическая часть ВНС 187.66 KB
  Краниальная часть парасимпатических ядер включает мезэнцефалические добавочное и срединное ядра глазодвигательного нерва которые лежат в сером веществе дна водопровода на уровне верхних холмиков. Центральные нейроны ядер направляют свои преганглионарные отростки в составе глазодвигательного нерва к ресничному узлу где они переключаются на периферические 2ые нейроны. Дорсальное ядро блуждающего нерва направляет преганглионарные волокна в интрамуральные органные парасимпатические узлы органов иннервируемых Х парой где они прерываются....
76916. Шейный симпатикус. Шейный отдел симпатического ствола: топография, узлы, ветви, области, иннервируемые ими 183.18 KB
  Серые соединительные ветви выходят из шейных узлов в шейные спинномозговые нервы а с ними в нервы шейного и плечевого сплетений. Шейный верхний узел имеет веретенообразную форму в длину достигает 2 см в толщину 05 см лежит на длинной мышце головы впереди поперечных отростков IIго и IIIго шейных позвонков но позади внутренней сонной артерии и блуждающего нерва. Из него начинаются следующие симпатические нервы.
76917. Грудной симпатикус. Грудной отдел симпатического ствола, его топография, узлы и ветви 180.2 KB
  Серые ветви постганглионарные волокна направляются к грудным спинномозговым нервам а с ними в межреберные нервы и другие спинальные ветви а также в следующие нервы: грудные сердечные нервы от 25 узлов; легочные трахеальные аортальные пищеводные ветви к одноименным сплетениям; чревные или внутренностные нервы: большой от 59 узлов малый 1012 узлов непостоянный низший; через чревные нервы – в чревное солнечное сплетение живота. Грудные сердечные нервы вместе с шейными сердечными нервами образуют переднее и заднее...
76918. Поясничный и крестцовый симпатикус. Поясничный и крестцовый отделы симпатического ствола, их топография, узлы и ветви 178.89 KB
  Белые соединительные ветви преганглионарные волокна идут от латерального промежуточного ядра спинного мозга. Серые ветви постганглионарные волокна уходят ко всем поясничным спинномозговым нервам поясничному сплетению и его ветвям. Нервы: серые соединительные ветви к поясничным и крестцовым спинальным нервам; ветви к поясничному и крестцовокопчиковому сплетению и его нервам; поясничные внутренностные нервы для чревного аортального и органных сплетений; крестцовые внутренностные нервы для подчревного и органных сплетений таза.
76919. Симпатические сплетения живота. Симпатические сплетения брюшной полости и таза (чревное, верхнее и нижнее брыжеечные, верхнее и нижнее подчревные сплетения) 181.94 KB
  Вегетативные и соматические нервы участвуют в иннервации внутренних органов сосудов через вне и интраорганные сплетения состоящие из нервных узлов и соединяющих их смешанных пучков из симпатических парасимпатических чувствительных нервных волокон. Сплетение направляет ветви по ходу селезеночных печеночных желудочных брыжеечных артерий к брюшным органам в воротах которых возникают органные сплетения. В составе сплетения присутствуют пять крупных нервных узлов.