- •История создания и и спользования javascript
- •3. Базовые возможности языка JavaScript. Типы данных.
- •4. Базовые возможности языка JavaScript. Функции и объекты.
- •5. Базовые возможности языка js. Блоки.
- •6. Примитивные типы даны в js
- •8. Преобразование типов. Слабый контроль типов.
- •9. Принципы построения операторов. Арифметические операции.
- •24.Объект Math
- •25. Объекты связанные с типами данных
- •26. Регулярное выражение. Основные понятия.
- •33. Обход дерева dom
- •34. События в js
- •35. Базовая модель событий.
- •36. События мыши, клавиатуры, браузера
- •37. События интерфейса пользователя, мутации. Создание событий.
- •38. Объект Window. Создание диалоговых окон. Открытие и закрытие окон.
- •39. Управление окнами
- •40.События объекта window
- •41. Фреймы.
- •42. Расширения window
- •43. Объект Document. Свойства объекта Document
- •44. Методы объекта Document
- •45. Доступ к элементам html – документа
- •46. Формы
- •47. Поля формы
-
Тег <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>.
-
История создания и и спользования 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;
}
Пример вызова функции и возврата значения
-
var result = add(2, 3);
-
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);