- •Федеральное государственное учреждение
- •©Российская таможенная академия, 2008
- •Ростовский филиал
- •© Крицкий с.П.
- •Содержание
- •Введение
- •Основные понятия программирования
- •Классификация языков программирования
- •Характеристика систем программирования на языкахJavaScript/Jscript
- •Типы значений в языкеJavaScript
- •Числовые литералы и значения и их организация в памяти Литералы целых чисел
- •Литералы вещественных чисел (чисел с плавающей точкой)
- •Логические литералы и значения и их организация в памяти
- •Строковые литералы, значения и их организация в памяти
- •Массивы и их организация в памяти. Многомерные массивы, матрицы
- •Записи и их организация в памяти
- •Операции над различными типами данных
- •Арифметические операции
- •Строковые операции
- •Логические операции
- •Операции сравнения
- •Операции выборки
- •Переменные, выражения, условия Переменные
- •Выражения
- •Вызовы функций и методов
- •Порядок вычисления выражения
- •Операции присваивания
- •Автоматическое преобразование типов значений. Функции преобразования и проверки типов
- •Ввод и вывод значений
- •Понятие оператора. Простые и составные операторы. Блок-схемы программ и модулей Операторы и модули
- •Блок-схемы
- •Составные операторы (последовательность, условные). Их синтаксис, блок-схемы и правила выполнения Последовательность операторов
- •Условный операторif … else
- •Операторы цикла (while, do-while и for). Их синтаксис, блок-схемы и правила выполнения. Операторыbreakиcontinue Оператор циклаwhile
- •Операторbreak
- •Операторcontinue
- •Оператор циклаdo…while
- •Оператор циклаfor
- •Функции. Определение и вызов. Выход из функцииreturn. Массив аргументовarguments Определение функции – операторfunction
- •Выход из функции – операторreturn
- •Определение переменной – операторvar
- •Отладка программ. Трассировка, отладочная печать. Тестирование программы
- •Основные понятия объектного подхода
- •ОбъектMath, назначение, свойства, методы. Значения NaN, Infinity, null, undefined.
- •Свойства объектаMath– константы:
- •Методы объекта Math
- •Специальные константы
- •Массивы как объекты в языкеJavaScript. Конструкторы, свойства и методы массивов. Задача копирования массива вJavaScript
- •Конструктор объектов типаArray
- •Свойство объектов типаArray
- •Методы объектов типаArray
- •Типичные задачи с массивами: линейная алгебра
- •Скалярное произведение векторов
- •Произведение матриц
- •Транспонирование квадратной матрицы
- •Типичные задачи с массивами: сортировка. Сортировка вставками. Методsort
- •Сортировка вставками
- •Методsort
- •Типичные задачи с массивами: поиск. Двоичный поиск в упорядоченном массиве
- •Обработка строк. Конструкторы, свойства, методы строк
- •Конструктор объектов типаString
- •Свойство объектов типаString
- •Методы объектов типаString
- •Шаблоны и регулярные выражения. Их использование методами строк.
- •Простые шаблоны
- •Составные шаблоны
- •Пользовательский интерфейс программ. Общее понятие
- •Html-страница как средство интерфейса для программ на языкеJavaScript. Тэги и атрибутыHtml
- •ОбъектыHtml-страниц иWeb-браузера, их свойства и методы. События и их обработка Объектные модели
- •Объекты страницы
- •Объекты браузера
- •СтилиHtml-объектов. Свойства позиционирования объектов страницы
- •Таймеры, примеры использования
- •Понятие ссылочной структуры данных. Односвязный список. Запись списков с помощью литералов.
- •Понятие стека. Функции для стека
- •Двухсвязный список, его структура
- •Понятие очереди и дека, их организация
- •Понятие дерева как ссылочной структуры. Бинарные деревья. Представление дерева литералом
- •Обработка деревьев. Рекурсия
- •Обход дерева «в глубину»
- •Обход дерева «в ширину»
- •Файлы и файловая система
- •Работа с текстовыми файлами
- •Объекты типа TextStream
- •Управление файлами и папками
- •Коллекции дисков, папок и файлов
- •Технология и методология создания программ
- •Жизненный цикл программы
- •Организация процесса разработки
- •Методологии проектирования программ
- •Заключение
- •Приложение 1. Теги, атрибуты и соответствующие свойства Общая структура html-документа
- •Форматирование текста
- •Вставка графики
- •Гиперссылки и карты
- •Приложение 2. События вHtmLи их источники
- •Приложение 3. Атрибуты и свойства стилейCss
- •Приложение 4. Работа с файловой системой вJScript
- •Свойства, методы и коллекции объектов файловой системы
- •Список литературы
- •Словарь терминов
- •If (условие) оператор1 [else оператор2]
- •Основы программирования
Оператор циклаfor
Описание. Оператор for повторяет выполнение оператора тела цикла до тех пор, пока проверяемое условие не станет ложным. Условие проверяется перед выполнением тела цикла. Перед первой проверкой условия выполняется выражение начало, обычно присваивание, устанавливающее начальное значение переменной, называемой параметром цикла. После каждого исполнения тела цикла выполняется выражение изменение, также обычно присваивание, изменяющее значение параметра цикла. Как правило, условие накладывает ограничение на значение параметра цикла, но может содержать и другие ограничения.
Синтаксис
for (начало; условие; изменение)
оператор
Схема

Замечание: Условие – это логическое выражение, т.е. выражение, выдающее логическое значение. Если значение условия – true, то выполняется оператор – тело цикла, затем приращение, после чего всё повторяется. В противном случае выполнение цикла завершается. Выполнение цикла завершается также при выполнении оператора break, входящего в тело цикла (стрелка с надписью break на схеме). Оператор continue выполняется так же, как в цикле while. Тело цикла также может быть циклом.
Функции. Определение и вызов. Выход из функцииreturn. Массив аргументовarguments Определение функции – операторfunction
Описание. В функцию выделяют некоторую часть программы, которую используют потом в разных её местах с помощью оператора вызова функции. Для того чтобы функция стала более гибкой (т.е. применимой в большем числе ситуаций), она имеет параметры, значения которых задаются в каждом конкретном вызове. Кроме параметров, функция может использовать локальные (т.е. определённые в теле функции) и глобальные переменные. Функция может выдавать вычисленное значение. Тогда её можно вызвать в выражении для получения этого значения. Если функция не выдаёт значения, то её вызов используется как оператор.
Определение функции вводит имя функции и имена её параметров (в скобках, через запятую, скобки должны присутствовать, даже если параметров нет), а также тело функции – оператор, который выполняет все предназначенные для функции действия. Параметры используются в теле функции, как значения, определяемые в каждом вызове этой функции. Изменить эти значения невозможно.
Синтаксис
function имя_функции ([имена_параметров]) // заголовок функции
{оператор} // тело функции
Для выдачи вычисленного значения функции, а также для преждевременного выхода их функции в её теле используется оператор return.
Выход из функции – операторreturn
Описание. Оператор return завершает выполнение текущей функции и определяет значение, выдаваемое этой функцией.
Синтаксис
return [выражение]
Замечание: Выдаваемое значение функции равно значению выражения, либо undefined – при отсутствии выражения. Оператор return используется только в теле функции.
Определение переменной – операторvar
Описание. Определяет имя переменной, связывает с ним ячейку памяти с неопределённым значением или присваивает ей значение некоторого выражения.
Синтаксис
var переменная [ = выражение]
Замечание: Если переменная определяется с помощью оператора var в теле функции, то она и её значения доступна только в теле этой функции. Такая переменная называется локальной (т.е. локализованной в функции). Остальные переменные называются глобальными (относительно функции). Параметры функции также локализованы в ней. Локальная переменная функции и глобальная переменная или локальная переменная другой функции могут иметь одинаковые имена, но при этом они будут определять разные ячейки.
Примеры
Определения функций:
function copyArr(a) // копирование массива
{var b = [];
for (var i=0; i<a.length; i++)
b[i]=a[i];
return b
};
function greet() // приветствие
{alert("Привет, "+prompt("Как тебя зовут?"+”!”,""))
};
Вызовы функций:
d=[1,2,3,4,5];
c=copyArr(d);
greet()
Замечания:
Даже если функция не имеет параметров, в её определении круглые скобки обязательны (так же, как и в вызове функции).
Количество параметров в определении и вызове функции может отличаться.
В теле каждой функции доступен массив arguments, содержащий значения всех параметров из вызова этой функции.
Пример
Функция вывода произвольного количества значений:
function multiAlert()
{var s="";
for (var i=0; i<arguments.length; i++)
s += arguments[i];
alert(s)
}
В результате вызова multiAlert("a","b","c")будет напечатана строка abc.
