Практическая часть
2.1Доступ к базам данных
Серверная часть JavaScript позволяет реализовать полноценное решение для доступа к базам данных через Web. Независимо от того, какую цель ставит перед собой автор — разработать процессор обработки запросов к базе данных или настоящую СУБД, — в успешном решении поставленной задачи поможет комплект средств LiveWire Database Service, входящий в состав JavaScript. Эти средства совместимы с «родными» драйверами для баз данных DB2, Informix, Oracle и Sybase, а также для СУБД, соответствующих стандарту ODBC. К числу реализуемых функций относятся организация пула подключений к базам данных (pooling), «сквозной» SQL (передача SQL-запросов непосредственно серверу баз данных), курсоры и хранимые процедуры.
Обращение к программам на других языках
Для желающих использовать функции, где применяются другие языки программирования, в программе на JavaScript предусмотрена удобная оболочка JavaScript для подключения внешних библиотек. С помощью этой оболочки программы на JavaScript могут обращаться к функциям, составленным на Си, а через них и к функциям на других языках программирования, таких, как Си++ или Visual C++. Поскольку нет необходимости переводить эти функции на язык JavaScript, сокращается время разработки и часто достигается выигрыш в производительности.
Функции, разработанные на языках, отличных от JavaScript, называются собственными функциями (native functions) и должны быть размещены во внешней библиотеке. Обращения к ней или ее совместное использование в динамическом режиме происходит в рабочей среде этапа исполнения. Для систем на базе Windows внешняя библиотека должна быть выполнена в виде динамически компонуемой библиотеки (DLL). Для UNIX-систем внешнюю библиотеку следует оформлять как разделяемый объект. Как только собственная функция будет помещена во внешнюю библиотеку, последнюю следует зарегистрировать в среде этапа исполнения JavaScript. Регистрация библиотеки означает для процессора этапа исполнения, что прикладным программам открыт доступ к этой библиотеке.
Javascript подключается напрямую в HTML-файл. Самый простой способ - это написать javascript-команды внутрь тега <script> где-нибудь в теле страницы.
Когда браузер читает HTML-страничку, и видит <script> - он первым делом читает и выполняет код, а только потом продолжает читать страницу дальше.
В этом примере показано начало страницы, затем три раза выполняется функция alert, которая выводит окошко с информацией, а только потом появится остальная часть страницы.
|
<html> |
|
<body> |
|
<h1>Считаем кроликов</h1> |
|
|
|
|
|
<script type="text/javascript"> |
|
|
for(var i=1; i<=3; i++) { |
|
|
alert("Из шляпы достали "+i+" кролика!") |
|
|
} |
|
|
</script> |
|
|
<h1>...Посчитали</h1> |
|
|
</body> |
|
</html> |
В этом примере использовались следующие элементы.
<script type="text/javascript"> ... </script>
Тег <script> сообщает браузеру о том, что внутри находится исполняемый скрипт. Атрибут type говорит о том, что это javascript. Вообще говоря, атрибут может отсутствовать - разницы нет, но с точки зрения стандарта его следует указать.
Конструкция for
Обычный цикл, по синтаксису аналогичный другим языкам программирования.
Объявление var i
Объявление переменной внутри цикла: i - локальная переменная.
Функция alert
Выводит сообщение на экран и ждет, пока посетитель не нажмет ОК
Атрибут <script type=...>
По стандарту этот атрибут нужен для указания языка скрипта, но по умолчанию принят javascript, поэтому даже атрибута type нет - все работает ок. Но валидатор будет ругаться, т.к стандарт требует этот атрибут.
Иногда используют <script type="text/html"> как оригинальный способ добавить неотображаемые данные на страницу. Браузер не исполняет и не показывает <script> с неизвестным типом. В этом плане он ничем не отличается от обычного <div> с вечным style="display:none".
Атрибут <script language=...>
В старых скриптах нередко можно увидеть атрибут language. Этот атрибут давно мертв и никому не нужен. Не используйте его для javascript.
Комментарии до и после скрипта
В старых руководствах по javascript встречается указание "прятать" javascript-код от старых браузеров, заключая его в HTML-комментарии <!-- ... -->.
