Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инфа1.doc
Скачиваний:
10
Добавлен:
17.04.2019
Размер:
350.21 Кб
Скачать

10) JavaScript. Что такое и зачем нужен. Альтернативы.

Javascript - скриптовый язык, предназначенный для создания интерактивных веб-страниц.

ActiveX, Flash, JavaApp, Silverlight

Что такое javascript?

  • Javascript - скриптовый язык, предназначенный для создания интерактивных веб-страниц.

  • Javascript не требуется компилировать, он подключается к HTML-странице и работает "как есть".

  • Javascript - НЕ java, а совсем другой язык. Он похоже называется, но не более того. У javascript есть свой стандарт: ECMAScript, спецификация которого находится на сайте в разделе стандарт языка.

Что умеет javascript?

  • Изменять страницу, писать на ней текст, добавлять и удалять теги, менять стили элементов.

  • Реагировать на события: скрипт может ждать, когда что-нибудь случится (клик мыши, окончание загрузки страницы) и реагировать на это выполнением функции.

  • Выполнять запросы к серверу и загружать данные без перезагрузки страницы. Это иногда называют "AJAX".

  • Устанавливать и считывать cookie, валидировать данные, выводить сообщения и многое другое.

Уникальность javascript

Прелесть и соль Javascript заключаются всего в нескольких пунктах. Полная интеграция с браузером, просто делать простые вещи, почти везде поддерживается

Этот компот преимуществ нельзя найти ни в одной из других технологий.

Например, такие технологии как ActiveX, VBScript, XUL - поддерживаются не в каждом браузере (не кросс-браузерны). Такие технологии как Flash, Silverlight, Java - не полностью интегрированы с браузером, работают в своем окружении.

Поэтому Javascript - уникальная технология, и таковой останется. Сейчас она развивается, создается язык Javascript 2 и новый интерпретатор.

Учите javascript.

Другие технологии. Альтернативы javascript.

Возможности javascript в некоторых областях, к сожалению, ограничены. Поэтому используются альтернативные технологии.

Java

Java - по сравнению с javascript, java-applet'ы тяжелые, долго загружаются, но могут все. Они, как правило, используются там, где требуется почти-десктоп приложение. Очень сильно java'у потеснила технология Flash.

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

Flash

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

  • Мощные средства для создания сетевых соединений(сокеты)

  • Объекты для работы с мультимедиа: изображениями, аудио, видео

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

  • Удобные графические средства разработки для Flash

Ну и для баланса - недостатки, по сравнению с javascript.

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

  • Плохо индексируется поисковиками. Поисковики ходят по HTML-ссылкам, но(пока?) не кликают по ссылкам внутри Flash-приложения.

Из Flash можно легко вызвать javascript. Наоборот - сложнее, но тоже возможно, поэтому целесообразно знать обе технологии и применять их вместе.

JavaFX, Silverlight, XUL, vbscript

Эти технологии призваны дополнять javascript в области коммуникации и построения интерфейсов.

Пока они все далеки по распространенности от javascript и flash.

  • JavaFX - "легкая" надстройка над Java, будет работать только с Java на компьютере клиента.

  • XUL - язык описания интерфейсов, удобен если писать планируете только под Mozilla. Также используется для написания десктоп-приложений.

  • Silverlight - конкурент Flash от Microsoft на основе .NET. Другими OS, кроме Windows, поддерживается слабо. Не имеет широкого распространения.

  • vbscript - попытка Microsoft сделать подобие javascript на основе Visual Basic. Не развивается, сильно уступает по возможностям, и, как следствие - практически не используется в современном веб-программировании.

11) Объектная модель JavaScript. Примитивы.

Javascript - объектный язык. В нем все является объектами. Строки, числа, функции и массивы -

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

  1. Объекты браузера

  2. Внутренние, или встроенные, объекты языка JavaScript

  3. Объекты, связанные с тегами языка HTML

Объектами браузера являются зависимые от браузера объекты: window (окно), location (местоположение) иhistory (история). Внутренние объекты включают простые типы данных, такие как строки (string), математические константы (math), дата (date) и другие. Объекты, связанные с тегами HTML, соответствуют тегам, которые формируют текущий документ. Они включают такие элементы как гиперсвязи и формы.  Методы объектов

С объектами связаны методы, которые позволяют управлять этими объектами, а также в некоторых случаях менять их содержимое. Кроме того в языке JavaScript имеется возможность создавать свои методы объектов. При использовании метода объекта, нужно перед именем метода указать имя объекта к которому он принадлежит. Например, правильным обращением к методу document является выражениеdocument.write(), а просто выражение write()приведет к ошибке.  Свойства объектов языка JavaScript В объектно-ориентированном программировании используется также термин свойство. Свойство - это именованное значение, которое принадлежит объекту. Все стандартные объекты языка JS имеют свойства. Например, в прошлой главе мы использовали в одном из примеров свойство bgColor объекта document. данное свойство соответствует атрибуту bgColor тега<body> - цвет фона документа. Для обращения к свойству необходимо указать имена объекта и свойства, разделив их точкой. Каждый объект имеет собственный набор свойств. Набор свойств нового объекта можно задать при определении объекта. Однако, некоторые свойства объктов существуют только для чтения, и вы не можете их менять. В таких случаях можно получить только значения этих свойств. Как показывает практика, такие свойства изменять обычно без надобности и проблем в связи с этим не возникает.  Объекты браузеров Браузеры поддерживают объекты различных типов. HTML-объектами являются объекты, которые соответствуют тегам языка HTML. К ним относятся метки, гиперсвязи и элементы формы - текстовые поля, кнопки, списки и др. Объекты верхнего уровня, или объекты браузера, - это объекты, поддерживаемые в среде браузера: window, location, history, document, navigator. Объекты, перечисленные в таблице, создаются автоматически при загрузке документа в браузер.

Вывод: в Javascript существуют два типа – примитив (само значение) и оберточный класс для работы с самим примитивом, которые, выражаясь языком Java immutable(то есть неизменяемые, а при изменении их создаются новые экземпляры).

12) Рассказать про один из видов ООП в JS: фабрика, прототипы, метод в конструкторе. На уровне языка реализовано наследование на прототипах.

В javascript базовое наследование основано не на классах. То есть, нет такого, что классы

наследуют друг от друга, а объект класса-потомка получает общие свойства.

Вместо этого объекты наследуют от объектов. Наследование на классах можно построить(эмулировать), опираясь на базовое наследование javascript. Реализуется наследование через неявную(внутреннюю) ссылку одного объекта на другой, который называется его прототипом