Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Содержание
2. Клиентские сценарии в Web сети
2.1 Язык создания сценариев JavaScript
2.1.1 Основы JavaScript
2.1.2 Основные элементы языка
2.1.3 Размещение операторов на странице
2.1.4 Ввод и вывод информации
2.1.5 Основные операторы языка JavaScript
2.2 Стандартные объекты и функции JavaScript
2.2.1 Объект Array
2.2.2 Объект Date
2.2.3 Объект Math
2.2.4 Объект String
2.2.5 Стандартные функции верхнего уровня
2.3 Объекты клиента и обработка событий
2.3.1 Иерархия объектов
2.3.2 Свойства и методы ключевых объектов. Объекты window и frame
2.3.3 Объект history
2.3.4 Объект navigator
2.3.5 Объект location
2.3.6 Объект document
2.3.7 Коллекции объектов document и других объектов
2.3.8 Обработчики событий
2.4 Cookie
2.4.1 Создание Cookie
2.4.2 Получение значения Cookie
2.4.3 Изменение значения параметра Cookie и его удаление
2. Клиентские сценарии в Web-сети
Язык HTML представляет авторам Web-страниц и узлов широкие возможности для отображения текстовой и графической информации, включения в состав страниц различных объектов. Но, тем не менее, создаваемые с помощью языка HTML страницы остаются статическими - пользователи не могут изменять информацию, расположенную на странице, и даже использовать большинство интерфейсных элементов. Для того чтобы сделать страницу по-настоящему интерактивной, необходим еще один язык, выполняемый в контексте браузера, - скриптовый язык.
Скриптовый язык используется для создания интерактивных страниц. Этот язык программирования предоставляет средства для управления браузером. Обычно он не содержит всех возможностей настоящих языков программирования, таких, например, как работа с файлами или управление графикой. Созданные с помощью скриптовых языков программы не могут выполняться самостоятельно - они работают только в контексте браузера, поддерживающего выполнение скриптовых программ. К таким браузерам относятся Microsoft Internet Explorer и Netscape Communicator. Создаваемые на скриптовых языках программы, называемые сценариями или скриптами, включаются в состав Web-страниц и распознаются и обрабатываются браузером отдельно от остального HTML-кода.
Кроме того, скриптовые языки являются одним из тех трех китов, на которых покоится реализация динамического HTML (Dynamic HTML или DHTML). Это еще один мощный инструмент создания интерактивных документов в Сети, позволяющий посредством сценариев программно изменять тэги. Он, по-сути, состоит из трех компонентов – каскадных таблиц стилей (CSS, Cascading Style Sheets), скриптового языка и HTML, соединенных объектной моделью документа (DOM, Document Object Model).
2.1. Язык создания сценариев JavaScript
Язык программирования JavaScript разработан фирмой NetsCape для создания интерактивных HTML-документов. (Фирма Microsoft разработала свой интерпретатор языка JavaScript, который она называет JScript). Это объектно-ориентированный язык разработки встраиваемых приложений, выполняющихся как на стороне клиента, так и на стороне сервера. Клиентские приложения выполняются браузером просмотра Web-документов на машине пользователя, серверные приложения выполняются на сервере. При разработке обоих типов приложений используется общий компонент языка, называемый ядром и включающий определение стандартных объектов и конструкций, и соответствующие компоненты дополнений языка, содержащие специфические для каждого типа приложений определения объектов.
Клиентские приложения непосредственно встраиваются в HTML-страницы и интерпретируются браузером по мере отображения частей документа в его окне. Основные области использования при создании интерактивных HTML-страниц следующие:
* Динамическое создание документа с помощью сценария
* Оперативная проверка достоверности заполняемых пользователем полей форм HTML до передачи их на сервер
* Создание динамических HTML-страниц совместно с каскадными таблицами стилей и объектной моделью документа
* Взаимодействие с пользователем при решении “локальных” задач, решаемых приложением JavaScript, встроенным в HTML-страницу.
2.1.1. Основы JavaScript
Приложение JavaScript представляет набор операторов языка, последовательно обрабатываемых встроенным в браузер интерпретатором. Каждый оператор можно располагать в отдельной строке. В последнем случае разделитель (;), отделяющий один оператор от другого, не обязателен. Его используют только в случае задания нескольких операторов на одной строке. Любой оператор можно расположить в нескольких строках без всякого символа продолжения. Например, следующие два вызова функции alert эквивалентны:
alert(“Тест”); или
alert(
“Тест”
);
Строковый литерал обязательно должен располагаться на одной строке. Если необходимо задать его в нескольких строках, то следует разбить его на более мелкие строковые литералы и использовать оператор конкатенации строк для соединения полученных мелких строк в одну длинную. В этом случае каждый литерал можно располагать на отдельной строке.
Для удобства чтения кода приложения в нем можно располагать комментарии. Любая последовательность символов, следующая за двумя косыми чертами // до конца строки, рассматривается как комментарий. Для задания многострочных комментариев используется синтаксис, заимствованный из языков Java и С. Любая последовательность символов, заключенная между символами /* и */, интерпретируется как комментарий.
Язык JavaScript чувствителен к регистру.
2.1.2. Основные элементы языка
Функция. Основной элемент языка JavaScript - функция. Под функцией в рамках JavaScript подразумевается именованный фрагмент кода, который выполняется только в том случае, когда его вызвали. Функция может выглядеть следующим образом:
function someFunction()
{
//код функции
}
Функция должна иметь уникальное имя и ее код должен быть заключен в фигурные скобки. Функция выполняет свои действия только при вызове:
someFunction()
Указание скобок () обязательно даже при вызове функций, которые не имеют параметров. Функции могут иметь любое число параметров, которые перечисляются в скобках. Параметры отделяются друг от друга запятой и пробелом, например: someFunction(2, 4, 1).
Следует также помнить, что в JavaScript различаются символы верхнего и нижнего регистров: someFunction, Somefunction, somefunction - это три различные функции.
Следует четко понимать различие между объявлением функции и ее вызовом. Объявление функции только задает ее имя и определяет, что она будет делать при ее вызове. Непосредственное выполнение функции осуществляется, когда в сценарии вызывают ее и передают действительные параметры.
Определение необходимых функций следует осуществлять в тэге <HEAD>, так как все определенные в нем операторы сценария интерпретируются до отображения страницы, и, таким образом, будут известны в процессе отображения всей страницы.
Функции могут возвращать определенные значения. Для этого используется ключевое слово return. Например:
function someFunction()
{
//код функции
return someValue
//возвращаемое значение
}
Переменные и литералы. Как и в других языках программирования, в JavaScript термин "переменная" означает нечто, значение чего может быть изменено. Переменной может быть число, слово, последовательность символов или любая их комбинация. Для определения переменной используется ключевое слово var:
var x=4 //x присвоено значение 4.
Различают глобальные и локальные переменные. Переменная, объявленная вне функции – глобальная, и ее можно использовать везде в текущем документе. Использование «var»необязательно. Это ключевое слово применяют, когда необходимо иметь локальную переменную с тем же именем, что и у глобальной.
JavaScript поддерживает числовой, строковый, булевский, объектный и некоторые другие типы данных.
Для присваивания переменным значений основных типов применяются литералы – буквальные значения данных соответствующих типов (константы).
В JavaScript имеется три типа целочисленных значений. Если перед значением литерала не указан ноль (0), то это десятичное значение. Также можно использовать шестнадцатеричные и восьмеричные значения. В JavaScript считается, что все числа, имеющие префикс 0x, являются шестнадцатеричными, числа, начинающиеся с 0 и содержащие только цифры 0..7, - восьмеричные. Вот несколько примеров задания целочисленных значений:
532 // десятичное значение
13 // десятичное значение
0x75 // шестнадцатеричное значение
0xFF // шестнадцатеричное значение
042 // восьмеричное значение
Помимо целочисленных литералов, в JavaScript можно использовать вещественные литералы. Для их задания используется синтаксис чисел с десятичной точкой: 72.0391, 2.1Е3, 4Е-6.
Строковый литерал – последовательность алфавитно-цифровых символов, заключенная в одинарные или двойные кавычки:
str="Строковая переменная".
Для задания ряда специальных символов используются комбинации, называемые escape-последовательностями. Такие комбинации содержат символ "\" и дополнительный символ. Так, для задания кавычек внутри строковых переменных следует использовать комбинацию "\'":
str1="That\'s OK".
С помощью этого же символа "\" в строковую переменную можно включать управляющие символы:
\r - возврат каретки,
\n - переход на новую строку,
\t - табуляция.
Булевы литералы имеют два значения: true и false, и используются для обработки ситуаций да/нет в операторах сравнения. Помимо цифровых, строковых и булевых значений переменные могут содержать специальное значение null, указывающее на то, что значение данной переменной не определено.
Язык JavaScript не имеет строгой типизации - тип переменной определяется по ее значению, и все необходимые преобразования выполняются автоматически. Например, если переменная a содержит строковое значение "Переменная а=", а переменная b - числовое значение 342, мы можем присвоить переменной c результат сложения этих двух переменных:
a="Переменная а"; // строка
b=342; // число
c=a+b; // результат - преобразование к типу "строка" выполняется // автоматически.
Имена переменных и функций в должны начинаться с буквы ("A" - "Z", "a" -"z") или символа подчеркивания. Последующие символы могут быть буквами, цифрами и рядом других символов.
JavaScript чувствителен к регистру!
2.1.3. Размещение операторов на странице
Встроить сценарий JavaScript в HTML-страницу можно несколькими способами:
* Задать операторы языка внутри тэга <SCRIPT> языка HTML
* Указать файл с кодом JavaScript в параметре SRC тэга <SCRIPT>
* Определить обработчик события в тэге HTML
* «Адреса» javascript
Использование тэга <SCRIPT>. Для внедрения в HTML-страницу сценария JavaScript в спецификацию языка HTML был введен тэг-контейнер <SCRIPT>...</SCRIPT>, внутри которого могут располагаться операторы языка JavaScript. Обычно браузеры, не поддерживающие какие-нибудь тэги HTML, просто их игнорируют, анализируя, однако, содержимое пропускаемых тэгов с точки зрения синтаксиса языка HTML, что может приводить к ошибкам при отображении страницы. Во избежание подобной ситуации следует помещать операторы языка JavaScript в контейнер комментария <!--...-->:
<SCRIPT [LANGUAGE=”JavaScript”]>
<!--
операторы JavaScript
//-->
</SCRIPT>
Параметр LANGUAGE задает используемый язык сценариев. В случае языка JavaScript его значение задавать не обязательно, так как этот язык используется браузерами по умолчанию. Для языка сценариев VBScript необходимо явно задать значение этого параметра в виде строки “VBScript”.
Документ может содержать несколько тэгов <SCRIPT>, расположенных в любом месте документа. Все они последовательно обрабатываются интерпретатором JavaScript по мере отображения документа в окне браузера. В связи с этим ссылка на переменную, определенную в сценарии, размещенном в конце документа, может привести к генерации ошибки интерпретатора при обращении к такой переменной из сценария в начале документа. Поэтому рекомендуется размещать сценарии с глобальными функциями и переменными в разделе <HEAD> документа. В этом случае все определения обрабатываются интерпретатором в начале загрузки документа и хранятся в памяти с первых моментов отображения документа в окне браузера.
Задание файла с кодом JavaScript. Тэг <SCRIPT> имеет параметр SRC, позволяющий связать встраиваемый сценарий с внешним файлом, содержащим программный код на языке JavaScript. В качестве значения параметра задается полный или относительный URL-адрес ресурса. Задание закрывающего тэга </SCRIPT> обязательно, независимо от того, заданы или нет операторы внутри тэга. Следующий фрагмент кода связывает документ HTML с файлом-источником, содержащим некоторый набор функций:
<SCRIPT SRC=”http://www. *****/jscript/jsfuncs. js”>
[операторы JavaScript]
</SCRIPT>
Обработчики событий. Для совместимости с языками сценариев в некоторые тэги HTML были введены специальные параметры обработки возникающих событий. Значениями этих параметров могут быть операторы языка JavaScript. Обычно в качестве значения задается имя функции, которая вызывается, когда происходит соответствующее событие, определяемое параметром обработки события. Имя параметра начинается с приставки on, за которой следует имя самого события. Например, параметр обработки события Click (щелчок кнопкой мыши) будет иметь имя onClick.
События в основном связаны с действиями, производимыми пользователем с элементами форм HTML. Поэтому чаще всего перехват и обработка событий задается в параметрах элементов форм, что позволяет проверить введенную информацию перед ее отправкой на обработку CGI-сценарием.
Следующий пример демонстрирует задание функции и ее вызов через параметры обработки события элементов формы:
< HEAD >
< SCRIPT LANGUAGE="JavaScript" >
< !--
function Test()
{
alert("Вы нажали кнопку!")
}
//-->
< /SCRIPT >
< / HEAD >
< BODY >
< FORM >
< INPUT TYPE=button onClick=Test() >
< /FORM >
< /BODY >
Адреса javascript. Есть еще один способ встроить JavaScript-код в HTML-файл - использовать гиперссылку, имеющую адрес специального вида:
<A HREF="javascript:операторы">...</A>
Например, следующая конструкция
<A HREF="javascript:alert('Привет!')">Жми сюда</A>
задает гиперссылку, которая при щелчке мыши вызывает функцию alert('Привет!').
2.1.4. Ввод и вывод информации
Вывод информации. Язык JavaScript предоставляет два способа вывода информации: метод alert, с помощью которого можно отображать на экране клиентского браузера небольшие по размеру сообщения - эти сообщения будут появляться в диалоговой панели, содержащей кнопку Ok (панель сообщений). Нажатие этой кнопки приводит к закрытию диалоговой панели. Вот пример вывода простого сообщения:
<script language="JavaScript">
alert('Пример вывода сообщения в панели сообщений')
</script>
Вторым способом является использование метода write, который предоставляется объектом document. Вызов метода document.write с указанием в качестве параметра строки, которую следует вывести, приводит к отображению текста в окне браузера, например:
<script language="JavaScript">
document. write('Пример вывода сообщения в окно браузера')
</script>
Следует отметить, что выводимая строка может содержать и тэги языка HTML. В этом случае браузер выведет данную строку так же, как если бы она была размещена непосредственно в HTML-документе. Например:
<script language="JavaScript">
document. write('<B><I>Пример вывода сообщения в окно браузера</I></B>')
</script>
В результате строка будет отображаться жирным курсивом. Если строка имеет большую длину, то ее можно разделить на несколько подстрок, объединив их символом "+":
<script language="JavaScript">
document. write('Пример вывода длинной строки'+
'в окно браузера')
</script>
Вывод информации с помощью метода document.write завершается после последнего символа строки. Последующий вывод данного метода начинает отображение со следующей позиции. В заключение отметим, что для сохранения содержимого страницы вызов метода document.write должен располагаться между остальными тэгами, описывающими содержимое страницы секции <BODY>.
Ввод информации. Для ввода информации можно воспользоваться двумя стандартными методами - confirm и prompt. Как и метод alert, рассмотренный выше, эти методы обеспечиваются объектом window, входящим, как и упоминавшийся объект document, в состав объектной модели браузера.
Метод confirm отображает диалоговую панель, содержащую сообщение и две кнопки - Ok и Cancel. Нажатие кнопки Ok возвращает значение true, Cancel - false. Данный метод может использоваться для получения подтверждений от пользователей либо другой информации, которая может быть представлена булевым значением true/false. Например:
<script language="JavaScript">
if (confirm('Хотите перейти по гиперссылке?')
document. write('Переход по гиперссылке')
else
document. write('Отмена перехода по гиперссылке')
</script>
Вторым методом, обеспечивающим ввод информации, является prompt. Он выводит диалоговую панель, содержащую текст, строку для ввода текста и кнопки Ok и Cancel. При нажатии кнопки Ok метод prompt возвращает содержимое строки ввода, при нажатии кнопки Cancel - значение null. Метод prompt имеет два параметра. Первый задает текст, поясняющий тип информации, которую необходимо ввести, второй - значение по умолчанию. Второй параметр может быть и пустой строкой. Например:
<script language="JavaScript">
var s
s=prompt('Введите Ваше имя','Иван Петров')
document. write(s)
</script>
В заключение следует отметить, что для целей ввода информации могут использоваться формы.
2.1.5.Основные операторы языка JavaScript
Операторы присваивания.
Оператор | Действие | Пример |
= | Присваивает значение переменной | MyVar=5 |
+= | Увеличивает значение переменной на указанную величину | MyVar+=2 |
-= | Уменьшает значение переменной на указанную величину | MyVar-=2 |
*= | Умножает значение переменной на указанную величину | MyVar*=3 |
/= | Делит значение переменной на указанную величину | MyVar/=2 |
%= | Делит значение переменной на указанную величину и возвращает остаток | MyVar%=4 |
Отметим, что оператор += может использоваться не только с численными, но и со строчными операндами. При этом происходит объединение двух сток в одну:
MyStrVar = "Java"
MyStrVar += "Script" //Значение MyStrVar равно "JavaScript"
Математические операторы.
Оператор | Описание | Пример |
-MyVar1 | Значение переменной MyVar1 рассматривается как отрицательное число | MyVar2=- MyVar1 |
MyVar1+ MyVar2 | Выполняется сложение двух значений. Возможно использование для объединения строк. | MyVar2= MyVar1+2 |
MyVar1- MyVar2 | Выполняется вычитание MyVar2 из MyVar1 | MyVar=2 - MyVar1 |
MyVar1* MyVar2 | Выполняется перемножение MyVar1 на MyVar2 | MyVar=3*4.5 |
MyVar1/ MyVar2 | Выполняется деление с плавающей точкой MyVar1 на MyVar2 | MyVar= MyVar1/6 |
MyVar1% MyVar2 | Выполняется деление по модулю MyVar1 на MyVar2 | MyVar= 34%MyVar1 |
MyVar1++ | MyVar1 увеличивается на единицу | MyVar++ |
MyVar1-- | MyVar1 уменьшается на единицу | MyVar-- |
Операторы сравнения
Оператор | Операция |
Значение1 = = Значение2 | Проверяет равенство Значения1 и Значения2. |
Значение1 ! = Значение2 | Проверяет неравенство Значения1 и Значения2. |
Значение1 > Значение2 | Проверяет, больше ли Значение1, чем Значение2. |
Значение1 >= Значение2 | Проверяет, больше или равно Значение1 Значению2. |
Значение1 < Значение2 | Проверяет, меньше ли Значение1, чем Значение2. |
Значение1 <= Значение2 | Проверяет, меньше или равно Значение1 Значению2. |
Значение1 && Значение2 | Выполняет логическую операцию И над Значением1 и Значением 2. |
Значение1 || Значение2 | Выполняет логическую операцию ИЛИ над Значением1 и Значением 2. |
! Значение | Выполняет логическую операцию НЕ - инверсию значения. |
Результатом использования операторов сравнения всегда является булева величина (имеющая значение true/false).
Тернарный оператор (выражения с оператором "?")
В языке JavaScript поддерживается довольно удобный метод создания выражений с проверкой, позаимствованный из языка С:
(условие) ? istrue : isfalse
где: условие – выражение, значение которого тестируется, istrue - действия, выполняемое при значении выражения, равном true, isfalse - действия, выполняемое при значении выражения, равном false.
Операторы управления
Весь набор операторов управления языка можно разбить на три группы:
· Операторы выбора, или условные
· Операторы цикла
Операторы выбора. К этой группе операторов относятся операторы, которые выполняют определенные блоки операторов в зависимости от истинности некоторого булевского выражения. Оператор условия if … else:
If (условие)
{
операторы
}
[else
{
операторы2
}]
В операторе переключателе switch вычисляется одно выражение и сравнивается со значением, заданным в блоках case:
switch (выражение)
{ case значение1 :
операторы1
[break];
case значение2 :
операторы2
[break];
…
default :
[операторы]
}
Если значение выражения в блоке switch не равняется ни одному из значений в блоках case, то вычисляется группа операторов блока default, если этот блок задан, иначе происходит выход из оператора switch. Необязательный оператор break, задаваемый в каждом из блоков case, выполняет безусловный выход из оператора switch. Если он не задан, то продолжается выполнение операторов в следующих блоках case до первого оператора break или до конца тела оператора switch.
Операторы цикла
В языке существует два оператора цикла: for и while. Оператор цикла for позволяет организовать выполнение блока операторов заданное число раз:
for ([инициал_выражение]; [условие]; [изменяющее_выражение])
{ [операторы]}
Цикл while выполняется пока истинно выражение, задающее условие выполнения цикла:
while (условие) { [операторы] }
Иногда необходимо завершить цикл не по условию, задаваемому в заголовке цикла, а в результате вычисления некоторого условия в теле цикла. Для этой цели в JavaScript существуют операторы break и continue. Оператор break прекращает выполнение цикла и передает управление оператору, непосредственно следующему за оператором цикла.
Оператор continue прекращает выполнение текущей итерации и начинает выполнение следующей.
2.2. Стандартные объекты и функции JavaScript
В ядре JavaScript определены объекты и функции, которые можно использовать вне контекста загруженной страницы. Они доступны как для сценария на стороне клиента, так и для сценариев на стороне сервера.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 |


