Материал: Язык JavaScript. учеб.-методич. пособие. Деревянко В.Н

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Относительные и абсолютные адреса файлов

Абсолютные адреса указывают местонахождение файла, начиная с верхнего уровня иерархии папок и двигаясь вниз через все промежуточные папки к файлу — безотносительно местонахождению текущего Web-документа. Абсолютные адреса всегда начинаются с косой черты (/), что отличает их от относительных адресов.

В следующем коде показан абсолютный адрес файла clock.jpg:

<img src="/D:/folder_A/folder_B/clock.jpg">

Относительный адрес дает браузеру указание начинать поиск файла внутри папки, содержащей текущий документ. Пусть, документ, содержащий рисунок в дескрипторе <img> в предыдущем примере, находится в папке folder_A. Тогда относительный адрес в атрибуте src подразумевает, что папка folder_B находится в папке folder_A. В приведенном ниже дескрипторе использован относительный адрес:

<img src="folder_B/clock.jpg">

1.3. Расширения html

Расширение языка HTML — это XML (подмножество языка из стандарта SGML). Другое направление развития HTML - его динамическая версия DHTML. К сожалению, разные браузеры в разной степени поддерживают DHTML.

SGML (Standard Generalized Markup Language — стандартный обобщенный язык разметки) определяет содержимое и форму документов в виде последовательности объектов данных. Объектные данные могут храниться в различных файлах. Их включение в финальный документ происходит в форматах, задаваемых в специальном файле DTD (Document Type Definition). Шаблоны DTD упрощают хранение и поиск документов в базах данных.

XML (Extensible Markup Language) позволяет использовать в документах типы элементов, создаваемые для конкретных приложений, в нем также используются шаблоны DTD. Для обмена документами на языке XML между Web-узлами разработан протокол ICE (Information and Content Exchange).

2. Язык JavaScript

2.1. Особенности и назначение языка JavaScript

JavaScript - это язык, основанный на объектах, который может интерпретироваться средствами браузера, имеющего определенные средства обеспечения безопасности. Компании Netscape и Sun объявили о создании JavaScript в 1995 г. Язык JavaScript предоставил Web-разработчикам возможности настоящей программы, а не простого форматирования данных, как это было в случае с HTML.

Этот язык не зависит от платформы.

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

Его реализация в браузере Internet Explorer компании получила название JScript. Компания Microsoft также реализовала определенный тип серверной части JScript на своем информационном сервере Internet (IIS— Internet Information Server). Этот вид реализации используется в активных серверных страницах (ASP — Active Server Pages), в которых ASP-фильтр обрабатывает страницы Web-сайта перед их отправкой запрашивающему браузеру. Язык JScript является важной составной частью платформы .NET компании Microsoft, которая позволяет разработчикам создавать Web-службы как СОМ-объекты в сети Internet.

По своему назначению JavaScript — объектноориентированный язык программирования сценариев (для Web-страниц). Он используется в основном для создания интерактивных Web-страниц и Web-приложений.

Место языка JavaScript в ряду Web-технологий видно из таблицы.

Наиболее популярные языки, к использованию которых разработчики намерены приступить в течение

ближайших полутора лет, %

AJAX (Asynchronous JavaScript and XML)

13,8

JavaScript

9,8

Различные вари­анты SQL

9,0

ASP .Net

8,2

С#

7,5

Ruby

6,5

Java

6,2

VB.Net

5,5

PHP

4,8

Управляемая моделью архитектура

4,4

Python

3,0

C/C++

2,5

Источник: исследование компании Ziff Davis Enterprise (PC WEEK/RE, № 19 от 27 МАЯ, 2008)

2.2.Основы языка JavaScript Типы данных

Строковый или символьный (string) - последовательность символов, заключенная в двойные или одинарные кавычки, например, "Привет", ‘д.т. -124.15’. При формировании строковых данных используются служебные символы для лучшего последующего отображения данных: \n - новая строка, \t - табуляция, \f - новая страница, \b – забой, \r - возврат каретки и др.

Числовой (number) - число, последовательность цифр со знаком или без знака. К числу с плавающей точкой добавляется е или Е, например, -124.15 1.1e3 .

Логический (булевский, boolean) - true (истина, да) или false (ложь, нет); возможны только два значения.

Null - отсутствие какого бы то ни было значения.

Объект (object) - программный объект, определяемый своими свойствами, например, массив является объектом.

Функция (function) - определение функции — программного кода, выполнение которого может возвращать некоторое значение.

Выражения разделяются точкой с запятой. Можно также писать каждое выражение в отдельной строке.

Переменные и оператор присвоения

JavaScript различает прописные и строчные символы: first и First – разные переменные.

Создать переменную в программе можно несколькими способами.

1. С помощью оператора присвоения значений в формате:

имя_переменной = значение

myName = "Иван"

2. С помощью ключевого слова var в формате:

Var имя_переменной

В этом случае созданная переменная не имеет никакого значения, но может его получить в дальнейшем с помощью оператора присвоения.

var myName

myName = "Иван"

3. С помощью ключевого слова var и оператора присвоения в формате:

var имя_переменной = значение

var myName = "Иван"

Область действия переменных

Переменные, которые созданы в программе с помощью оператора присвоения с использованием ключевого слова var или без него, являются глобальными. Они доступны также в вызываемых программах из других файлов. Переменные, определенные в коде функции с помощью ключевого слова var, будут локальными.

Операторы

Операторы во многом совпадают с операторами языка С.

Арифметические операторы, такие как сложение, умножение и т. д., в JavaScript могут применяться к данным любых типов. Операторы с числовыми данными практически совпадают с операторами языка С (есть ++, --, +=, -=, /=, *=, %=).

В случае строковых данных оператор сложения даёт в результате строку, полученную путем приписывания справа второй строки к первой. Например,

выражение "Вася" + "Маша" возвращает в результате "ВасяМаша".

В случае логических данных интерпретатор переводит логические значения операндов в числовые (true в 1, false в 0), выполняет вычисление и возвращает числовой результат. То же самое происходит в том случае, когда один операнд логический, а другой — числовой.

true + true // возвращает 2

true / 5 // возвращает 0.2

Если один операнд строкового типа, а другой — логического, то в случае сложения интерпретатор переводит оба операнда в строковый тип и возвращает строку символов, а в случае других арифметических операторов он переводит оба операнда в числовой тип.

"Вася" + true // возвращает "Bacяtrue"

"5" + true // возвращает "5true"

"Вася" * true /* возвращает NaN значение, не являющееся числом) */

Операторы сравнения позволяют сравнивать числа, строки и логические значения. Если сравниваются строка и число, то операнды приводятся к числовому типу. То же самое происходит при сравнении логических данных и числа. Если сравниваются логические данные и строка, то результат зависит от содержимого строки. Если она содержит число (но не цифры с буквами), только пробелы или является пустой, то операнды приводятся к числовому типу. При этом пустая строка ("") или содержащая только пробелы преобразуется в число 0. В остальных случаях все операторы сравнения, кроме !=, будут возвращать false (!= даст противоположный результат - true). Такой алгоритм преобразования облегчает проверку того, ввёл пользователь данные или строка осталась пустой.

Логические операторы : ! - отрицание (НЕ), && - И, || - ИЛИ. Сложные логические выражения, состоящие из нескольких более простых, выполняются по так называемому принципу короткой обработки: если в выражении х&&у значение х оказалось равным false, то значение у не вычисляется (значение всего выражения равно false), если в выражении х || у значение х равно true, то значение у не вычисляется, поскольку уже ясно, что все выражение равно true.

Оператор if : if (условие) { код1} else { код2}

Условие в операторе if может быть логическим, строковым, и числовым выражением. В случае строкового выражения условие считается выполненным, если его значением является непустая строка. Пустая строка "" не содержит ни одного символа, в том числе и пробела (строка, содержащая хотя бы один пробел, не пуста). В случае числового выражения условие считается выполненным, если его значением является число, отличное от нуля.

Фигурные скобки можно не писать, если исполняемый фрагмент программы (код1, код2) состоит из одного оператора.

Оператор switch оказывается более удобным и наглядным в случае нескольких условий:

switch (выражение) {

case вариант1:

код

[break]

case вариант2:

код

[break]

[default:

код]

}

Сначала вычисляется выражение, указанное в круглых скобках сразу за ключевым словом switch. Полученное значение сравнивается с тем, которое указано в первом варианте. Если они не совпадают, то код этого варианта не выполняется и происходит переход к следующему варианту. Если же значения совпали, то выполняется код, соответствующий этому варианту. При этом, если не указан оператор break, то выполняются коды и остальных вариантов, пока не встретится оператор break.

Операторы цикла имеют такой же формат, как и в языке С.

Оператор for

for ([начальное выражение] ; [условие] ; [выражение обновления])

{

код

}

Оператор while

while ( условие )

{

код

}

Оператор do-while

do {

код

}

while (условие)

В отличие от оператора while в операторе do-while код выполняется хотя бы один раз, независимо от условия.

Во всех приведенных видах цикла можно, как и в С, применять операторы break и continue.

Приоритет операторов в выражении

Выражение с последовательностью из нескольких операторов вычисляется слева направо учетом приоритета операторов. Среди арифметических операторов наибольшим приоритетом обладают операторы умножения и деления (в том числе и деления по модулю). Затем следуют сложение и вычитание. Среди логических операторов наибольшим приоритетом обладает отрицание, затем следует логическое И, а дальше — логическое ИЛИ. Операторы сравнения по приоритету выше логических операторов.

Функции

В JavaScript есть встроенные функции и пользовательские функции. Рассмотрим далее некоторые часто используемые встроенные функции.

Встроенные функции

Для преобразования строк в числа в JavaScript предусмотрены встроенные функции parseInt() и parseFloat().

parseInt(строка, основание) — преобразует указанную строку в целое число в системе счисления по указанному основанию (8,10 или 16); если основание не указано, то предполагается 10. При преобразовании в целое число округления не происходит: дробная часть просто отбрасывается.

parseInt("2.5 " ) // результат = 2

parseInt("-17.875") // результат = -17

parseInt("1952") // результат = 1952

parseInt("150 руб.") // результат = 150

parseInt("Вася") // результат = NaN, то есть это не число

parseInt("15" ,8) // результат = 13

parseInt("0xFF",16) // результат = 255

parseFloat(cтрокa, основание) — преобразует указанную строку в число с плавающей точкой в системе счисления по указанному основанию (8,10 или 16); если основание не указано, то предполагается 10.

parseFloat("l.50px") // результат = 1.5

parseFloat("двести") // результат = NaN

isNaN (значение) — возвращает true, если указанное в параметре значение не является числом, иначе — false. Здесь понятие число не совпадает с понятием значение числового типа. Функция isNaN() считает числом и данные числового типа, и строку, содержащую только число. Логические значения также идентифицируются как числа.

eval(cтрокa) — вычисляет выражение в указанной строке; выражение должно быть написано на языке JavaScript (не содержит тегов HTML).

var у = 5 // значение у равно 5

var х = "if(y<10) у = у+2" //значение х - строка символов

eval(x) // значение у равно 7

escape(cтрокa) — возвращает строку в виде %ХХ, где XX — ASCII-код указанного символа; такую строку еще называют escape-последовательностью.

unescape(cтрокa) — осуществляет обратное преобразование.

При взаимодействии браузеров и серверов протоколы передачи данных позволяют передавать не все символы в их естественном виде. Для передачи остальных символов используются их шестнадцатеричные ASCII-коды, перед которыми указывается символ %. Например, пробел представляется в escape-последовательности как %20.

typeOf(объект) — возвращает тип указанного объекта в виде символьной строки, например, "boolean", "function" и т. п.

Пользовательские функции

Описание функции начинается ключевым словом function:

Источник: https://studfile.net/preview/16566476/