Принципы функционирования клиентских сценариев

Что происходит, когда браузер загружает HTML страницу? В самом простом случае происходит простой процесс - построчное считывание файла, начиная с тэга <html> (обычно) в начале и заканчивая </html> в конце. Однако браузер может прервать этот процесс, в зависимости от содержания страницы. К примеру, если в теле страницы будет встречен элемент <img src="…" />, браузер отправит к серверу запрос на получение изображения, адрес которого указан атрибутом src.

Приблизительно то же самое происходит и в тех случаях, когда браузер сталкивается с командами клиентского сценария. JavaScript, как и все клиентские сценарии является интерпретируемым языком программирования. В отличии от C++, средствами которого можно написать программу, компилируемую в исполняемый файл, команды интерпретируемого языка выполняются другой программой (в нашем случае браузером). Текст сценария записывается непосредственно в HTML странице и отправляется вместе с ней на компьютер пользователя. При разборе страницы, браузер, встречая команды сценария, просто выполняет их. Этот принцип имеет множество достоинств и ряд ограничений, которые рассматриваются ниже.

Текст программы, написанный на любом компилируемом языке проходит два основных этапа - компиляцию и связывание, в результате чего образуется исполняемый модуль. В интерпретируемых языках эти этапы отсутствуют. Текст программы просто выполняется. Оба подхода имеют ряд достоинств и недостатков. Так, например, скрипты выполняются значительно медленнее скомпилированных и загруженных в память компьютера машинных команд.

Какие основные цели преследует любой создатель web-страницы, внедряя в нее сценарии?

Однако, если говорить о возможностях того или иного инструмента, полезно сделать не только обзор того, "что можно сделать", но и обратной стороны медали - "чего нельзя сделать". Этим мы с вами и займемся.

При помощи JavaScript нельзя: