Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
типо шпоры.docx
Скачиваний:
0
Добавлен:
28.10.2018
Размер:
231.21 Кб
Скачать
  1. Тег <script>

Основным методом включения кода JavaScript в HTML или XHTML является ис­пользование элемента <script>. Традиционным спосо­бом указания языка сценариев является использование атрибута language дескрип­тора. Например,

<script language="JavaScript"> </script>

используется для указания того, что находящееся в данном окружении содержимое является программным кодом JavaScript. Допустимы и другие значения: например,

<script language="VBS"> </script>

означает, что используется VBScript. Браузер будет игнорировать содержимое элемен­та <script>, если он не понимает значения атрибута language.

Согласно стандарту W3C, для синтаксиса HTML атрибут language использовать­ся не должен. Вместо этого следует установить атрибут type, указывающий MIME-тип используемого языка. Наиболее подходящим для JavaScript считается значение "text/javascript", поэтому следует использовать

<script type="text/javascript"> </script>

В рамках стандарта использование атрибута type является предпочтительным.

Можно использовать столько элементов <script>, сколько требуется. Документы бу­дут читаться и, возможно, выполняться по мере того, как они встречаются, если только вы­полнение сценария не будет отложено. Пример:

<body>

<h1>Начало</h1>

<script type="text/javascript">

document.write("Информация от первого скрипта");

</script>

<h2>Продолжаем работать...</h2>

<script type="text/javascript">

document.write("Информация от второго скрипта");

</script>

<h1>Конец</h1>

</body>

</html>

Особое положение элемент <script> в (X)HTML занимает в рамках дескриптора <head>. Структура Web-документа последовательна, а элемент <head> всегда чита­ется первым, поэтому на содержащиеся в этом элементе сценарии часто ссылаются сценарии, размещенные в документе далее в рамках элемента <body>. Очень часто сценарии в пределах <head> используются для того, чтобы определить переменные или функции, которые будут использоваться в документе позже. Рассмотрим пример, который показывает, как сценарий в рамках дескриптора <head> определяет функцию, кото­рая позже вызывается сценарием в рамках блока <script> дескриптора <body>.

<head>

<meta http-equiv="content-type" content="text/html; charset=windows-1251" />

<script type="text/javascript">

function alertTest() {

alert("Функция JavaScript в дескрипторе head");

}

</script>

</head>

<body>

<h2 align="center">Функция в теге head </h2>

<hr />

<script type="text/javascript">

alertTest();

</script>

</body>

</html>

Маскировка сценариев

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

<script type="text/javascript">

<!--

..здесь размещается сценарий..

//-->

</script>

Хотя маскировка комментарием очень распространена в Web, этот подход не соот­ветствует строгим правилам XHTML. С учетом того, что XHTML является языком, основанным на XML, а многие символы JavaScript (например, > или &) имеют в специ­альные значения, использование указанного подхода может вызывать определенные затруднения. Согласно спецификации XHTML, в поддерживающем XHTML браузере предлагается скрывать содержимое сценария таким образом:

<script type="text/javascript">

<![СDATA[

..здесь размещается сценарий..

]]>

</script>

Этот метод работает не везде, а только в браузерах, строго соответствующих требова­ниям XML, в XHTML-документах с расширением .xhtml. Такой же документ с расширением .html может быть неправильно обработан браузером. Далее мы будем использовать традиционный способ маскировки с помощью комментариев.

Элемент noscript

В ситуации, когда браузер не поддерживает JavaScript или поддержка JavaScript от­ключена, необходимо обеспечить альтернативу или как минимум вывод сообщения, предупреждающего пользователя о том, что скрипт нельзя выполнить. Это очень просто сделать с помощью элемента <noscript>. Все поддерживающие JavaScript браузеры будут игнорировать содержимое <noscript>, за исключением случаев, когда поддержка сценариев отключена. Пример:

<body>

<script type="text/javascript">

<!--

alert("Ваш JavaScript включен!");

//-->

</script>

<noscript>

<em>Ваш браузер не поддерживает JavaScript или поддержка JavaScript отключена.</em>

</noscript>

</body>

</html>

Одним из интересных вариантов использования элемента <noscript> является автоматическое перенаправление пользователей на специальную страницу с описа­нием ошибки с помощью обновления <meta>, если в браузере не разрешены сценарии или используется очень старый браузер (в примере ниже будем использовать перенаправление на страницу загрузки последней версии Mozilla Firefox):

<body>

<script type="text/javascript"> <!--

alert("Ваш JavaScript включен!");

//-->

</script>

<noscript>

<meta http-equiv="Refresh" content="0;URL=http://www.mozilla-russia.org/" />

</noscript>

</body>

К сожалению, спецификации XHTML не предполагают, что дескриптор <noscript> может находиться в рамках <head>. Но такое положение дел вполне можно считать недоразумением, особенно с учетом того, что в рамках <head> допускается присутствие дескриптора <script>.

  1. История создания и и спользования javascript

3. Базовые возможности языка JavaScript. Типы данных.

Каждая переменная имеет свой тип данных. В java script 3 базовых типа данных: числовой (Number), строковый(String) и логический (булев) (Boolean); 2 вспомогательных: неопределенный - Undefined, пустой - Null; и 3 составных: массив, объект(ассоциативный массив), функция.

Числовой – это целые значения или значения с плавающей десятичной точкой. Числовые значения задаются естественным образом.

var numericData = 3.14;

Строковый – это набор символов. Строковый литерал обозначается с помощью заключения такого набора символов в одиночные или двойные кавычки. Cтроки могут содержать любое число символов, включая пробелы и специальные символы, например, /n – переход на новую строку.

var stringData = «Всем привет от JavaScript»;

Булевы данные могут принимать одно из двух значений – true –истина, false – ложь. Соответствующие литералы с помощью значений true иди false непосредственно в программном коде.

var booleanData = true;

Неопределенный Undefined имеет одно единственное значение. Такое значение присваивается всякой объявляемой но не инициализированной переменной

Пустой Null имеет одно единственное значение Null.

Значения null и undefined являются равными.

Массив – упорядоченное множество значений, сгруппированных вместе с посредством одного идентификатора. Чтобы создать массив можно воспользоваться литералом массива, т.е. в [] через запятую перечисляются элементы массива.

var myArray = [1,5,68,3];

var myArray = ["Thomas", true, 3, -47.6, "x"];

Создание с помощью конструктора:

без параметров

var myArray = new Array();

с длиной:

var myArray = new Array(4);

со значениями:

var myArray = new Array(1, 5, "Thomas", true);

Обращение к элементам массивов

var x = myArray[2];

var у = myArray[0];

myArray[1] = 5;

Объекты могут содержать любые типы данных. Они позволяют хранить поля и методы, но не управляют доступом к ним. Обращение к свойствам объекта: имяОбъекта.имяСвойства.

document.lastModified

Доступ в стиле ассоциативных массивов:

document["lastModified"] ;

Обращение к методу объекта: имяОбъекта.имяМетода

document.write("Всем привет от JavaScript!");

Функции – используются для инкапсуляции программного кода, с помощью которого выполняется определенное задание. Они используются для того, чтобы хранить предназначенный для выполнения конкретной задачи код в одном месте, что улучшает перспективы его повторного использования и делает программу более понятной. Объявляется с помощью ключевого слова function , а содержащиеся операторы заключаются в {}, аргументы функции указываются в круглых скобках после имени функции и разделяются запятыми.

Пример определения функции

function add(x, y){

var sum = x + y;

return sum;

}

Пример вызова функции и возврата значения

  1. var result = add(2, 3);

  2. var a=3, b=5;

result = add(a,b);

4. Базовые возможности языка JavaScript. Функции и объекты.

Объекты в JavaScript позволяют хранить поля и методы, но не позволяют управлять доступом к ним. Данные содержащиеся в объекте являются свойствами объекта. Доступ к ним обеспечивает операция «точка».Что бы к ни обратится следует воспользоваться следующей комбинацией: имяОбъекта.имяСвойства.

document.lastModifiend

либо можно обратиться с помощью ассоциативных массивов

document [“lastModifiend”]

Функции содержащиеся в объекте являются его методами. Обращение к ним поисходит аналогично обращению к свойствам, через оператор «точка»:имяОбъекта.имяМетода:

document.write(“Всем привет от JavaScript”);

Библиотека интерпретатора JS содержит большое количество заранее созданных объектов, предназначенных для решения определенных задач:

Объект Data – предназначен для работы с временем и датой.

Объект Math – для работы с математическими функциями и константами.

Объект document – для входящий в объектную модель документа DOM, который предназначен для работы с документом и его содержимым.

Объект window – корневой объект модели DOM, предназначен для работы с окнами.

Для того, чтобы упростить многократное обращение к полям и метода одного и того же объекта используется оператор with:

with (document) {

write(“использовать with проще,”);

write (“чем писать”);

write (“полный путь”);

}

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

Функции – используются для инкапсуляции программного кода, с помощью которого выполняется определенное задание. Они используются для того, чтобы хранить предназначенный для выполнения конкретной задачи код в одном месте, что улучшает перспективы его повторного использования и делает программу более понятной. Объявляется с помощью ключевого слова function , а содержащиеся операторы заключаются в {}, аргументы функции указываются в круглых скобках после имени функции и разделяются запятыми.

Пример определения функции

function add(x, y){

var sum = x + y;

return sum;

}

Пример вызова функции и возврата значения

var result = add(2, 3);

var a=3, b=5;

result = add(a,b);