8528 107178594 8528 107192919
JavaScript это созданный корпорацией Netscape межплатформенный объектно-ориентированный язык скриптинга (сценариев) для клиентских и серверных приложений. Эта книга является справочным пособием по языку JavaScript, включая ядро и клиентский JavaScript.
В данном предисловии имеются следующие разделы:
Резюме по возможностям JavaScript 1.3 см. в разделе "Новые возможности этой версии". Информация об этих возможностях распределена по всему этому учебнику.
Предполагается, что Вы имеете следующие базовые знания:
Некоторый опыт программирования на таких языках как C или Visual Basic пригодится, но не обязателен.
Каждая версия Navigator'а поддерживает свою версию JavaScript. Для того чтобы помочь Вам в создании скриптов, способных работать в различных версиях Navigator'а, в этом учебнике имеется список версий JavaScript в каждой статье.
В таблице дан список версий JavaScript, поддерживаемых различными версиями Navigator'а. Navigator версий до 2.0 не поддерживает JavaScript.
Версия JavaScript | Версия Navigator'а |
---|---|
Каждая версия сервера Netscape Enterprise Server также поддерживает свою версию JavaScript. Для того чтобы помочь Вам в создании скриптов, совместимых с различными версиями сервера Enterprise Server, в этом учебнике используются сокращения версий сервера, на котором реализована та или иная возможность.
Аббревиатура | Версия Enterpriser Server |
---|---|
Документация по клиентскому JavaScript состоит из следующих книг:
Если Вы новичок в JavaScript,
начните с книги
Если Вы разрабатываете клиент-серверное приложение JavaScript,
используйте материал книг о клиентском JavaScript.
Затем используйте книги Серверный
DevEdge, онлайновый ресурс фирмы Netscape для разработчиков, содержит информацию, которая пригодится при работе с JavaScript. особый интерес представляют следующие URL:
http://developer.netscape.com/docs/manuals/javascript.html
http://developer.netscape.com/docs/manuals/
http://developer.netscape.com
Периодически в этой книге говорится о пользовательском интерфейсе Navigator'а. В этих случаях речь идёт о пользовательском интерфейсе Navigator 4.5. Этот интерфейс может иметь отличия в более ранних версиях браузера.
Приложения JavaScript работают на многих Операционных системах (ОС); информация этой книги применима для всех версий. Пути файлов и директорий даны в формате Windows (с обратной наклонной чертой (\) для разделения директорий). Для Unix Пути будут те же, только нужно использовать слэши (/) вместо backslashes.
В книге используются uniform resource locators (URLs) следующей формы:
http://server.domain/path/file.html
В этих URL server это имя сервера, на котором
работает Ваше приложение, например, research1
или www
; domain
это имя домена Internet, например, netscape.com
или uiuc.edu
;
path это структура директорий на сервере; file.html
это имя файла. В целом, элементы URL, вводимые шрифтом italic, являются
заглушками, а элементы нормальным шрифтом monospace являются литералами. Если
Ваш сервер имеет Secure Sockets Layer (SSL),
Вы используете в URL https
вместо http
.
В этой книге используются следующие соглашения по шрифтам:
Шрифт monospace/моноширинный
используется в примерах и листингах кода, API и элементах языка (таких как
имена свойств и методов), именах файлов,
пути, именах директорий, тэгах HTторичными таблицами с
извлеченными данными из другой таблицы (см. Главу 20),
не долго будут работать правильно, а программы, использующие вложенный SQL (Глава
25), начнут работать неправильно или не всегда правильно. Кроме того, изменение
может стереть всех пользователей, имеющих разрешение на обращение к таблице.
По этим причинам вы должны разрабатывать ваши таблицы так, чтобы использовать ALTER TABLE только в крайнем случае. Если ваша система не поддерживает ALTER TABLE, или если вы хотите избежать её использования, вы можете просто создать новую таблицу, с необходимыми изменениями при создании, и использовать команду INSERT с SELECT * запросом чтобы переписать в нее данные из старой таблицы. Пользователям, которым был предоставлен доступ к старой таблице (см. Главу 22), должен быть предоставлен доступ к новой таблице.
Вы должны быть владельцем (т.е. создателем) таблицы, чтобы иметь возможность удалить её. Поэтому не беспокойтесь о случайном разрушении ваших данных, SQL сначала потребует, чтобы вы очистили таблицу прежде чем удалить её из БД. Таблица с находящимися в ней строками не может быть удалена. Обратитесь к Главе 15 за подробностями относительно того, как удалять строки из таблицы.
Синтаксис для удаления вашей таблицы, если конечно она является пустой, следующий:
DROP TABLE <table name>;
При подаче этой команды имя таблицы больше не распознаётся, и нет такой команды, которая могла бы быть дана этому объекту. Вы должны убедиться, что эта таблица не ссылается внешним ключом к другой таблице (внешние ключи обсуждаются в Главе 19) и что она не используется в определении представления (Глава 20). Эта команда фактически не является частью стандарта ANSI, но она поддерживается и полезна. К счастью, она более проста и, следовательно, более непротиворечива, чем ALTER TABLE. ANSI просто не имеет способа для определения разрушенных или неправильных таблиц.
Теперь вы уже бегло ориентируетесь в основах определений данных. Вы можете создавать, изменять и удалять таблицы. В то время как только первая из этих функций - часть официального стандарта SQL, другие будут время от времени меняться, особенно ALTER TABLE.
DROP TABLE позволяет вам избавиться от ненужных таблиц. Она уничтожает только пустые таблицы и, следовательно, не разрушает данные.
Вы теперь знаете об индексах, а также, как их создавать и удалять. SQL не даёт вам большого контроля над ними, так как реализация, которую вы используете, сама определяет, как быстро выполняются различные команды. Индексы это один из инструментов, дающий вам возможность воздействовать непосредственно на эффективность ваших команд в SQL. Мы рассмотрели индексы здесь, чтобы отличать их от ограничений, с которыми их нельзя путать. Ограничения это тема Главы 18 и Главы 19.
1. Напишите предложение CREATE TABLE, которое вывело бы нашу таблицу Заказчиков. 2. Напишите команду, которая давала бы возможность пользователю быстро извлекать заказы, сгруппированные по датам, из таблицы Заказов. 3. Если таблица Заказов уже создана, как вы можете заставить поле onum быть уникальным (если допустить что все текущие значения уникальны)? 4. Создайте индекс, который разрешал бы каждому продавцу быстро отыскивать его заказы, сгруппированные по датам. 5. Предположим, что каждый продавец имеет только одного заказчика с данной оценкой. Введите команду, которая его извлечет. (См. ответы в Приложении A.)