- •Федеральное государственное учреждение
- •©Российская таможенная академия, 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]
- •Основы программирования
Операции выборки
|
Операция |
Результат |
Примеры |
|
массив[индекс] |
Выдаёт элемент массивапо егоиндексу. И массив, и индекс элемента могут задаваться произвольными выражениями. Если их значения не являются массивом или индексом его элемента, соответственно, то выдаётсяundefined. |
[1,2,3][0]выдаст1
[1,[2,3]][1][0]выдаст2, т.к.[1,[2,3]][1]выдаст[2,3], а затем[2,3][0]выдаст2 |
|
объект.свойство |
Выдаёт значение указанного свойстваобъекта. Объект задаётся выражением, а свойство – своим именем. Если у объекта нет такого свойства, выдаётсяundefined. Если значение выражения не является объектом, выдаётся ошибка. |
{d:1,b:{c:2,d:3}}.b.d выдаст 3, т.к.{d:1,b:{c:2,d:3}}.b выдаст {c:2,d:3}, а {c:2,d:3}.dвыдаст3
{a:[1,2]}.a[1]выдаст2 |
Переменные, выражения, условия Переменные
Имя (или идентификатор) – это непустая последовательность латинских букв, цифр и знаков подчёркивания «_», которая не может начинаться с цифры. Буквы могут быть большие и маленькие, причём JavaScript их различает.
Имена используются для обозначения переменных, функций, объектов, свойств, методов и некоторых значений – true, false, null, undefined, NaN, Infinity.
В языках программирования программист не знает, где в памяти будет располагаться его программа и данные. Поэтому для указания ячеек памяти он использует не адреса, а имена. Адреса этих поименованных ячеек определяют система программирования и операционная система.
Переменная – это имя ячейки, используемой программой для записи значений. Такое название связано с тем, что программа может сколько угодно раз присваивать любые новые значения. При этом старые значения теряются. В языке JavaScript любая переменная может принимать значения любых типов (нет типизации переменных, как в компилируемых языках).
Выражения
Выражения позволяют по одним значениям вычислять другие с помощью операций, функций и методов.
Выражение в языке JavaScript состоит из
переменных,
литералов,
операций,
вызовов функций и методов,
а так же скобок (круглых), определяющих порядок вычисления выражения.
Заметим, что литералы массивов и записей, а также вызовы функций и методов в свою очередь включают выражения.
Переменные, входящие в выражение, должны быть перед этим определены либо с помощью оператора присваивания, либо с помощью оператора var, который будет рассмотрен в п.17. В противном случае выражение построено неправильно и будет выдана ошибка.
Условие – это выражение, всегда выдающее логическое значение (или автоматически приводимое к нему). Используется в условных операторах и циклах (см. п. 15).
Вызовы функций и методов
Вызов функции имеет вид:
имя(аргументы)
Здесь имя – имя стандартной или определённой программистом функции (см. п. 15), аргументы – список произвольных выражений (разделённых запятыми), значения которых вычисляются (слева направо) и передаются функции в качестве параметров. Вычисленное функцией значение и является результатом вызова.
Аргументы могут все или частично отсутствовать, но скобки должны всегда присутствовать.
Пример:
prompt("Введите фамилию","Иванов"),
prompt("Введите фамилию"),
prompt(,"Иванов"),
prompt() – все эти вызовы стандартной функции prompt выдают введённую пользователем строку или константу null.
Методом называется функция, связанная с объектом. Часто используется для преобразования этого объекта. Вызов метода какого-то объекта имеет вид:
объект.имя(аргументы)
Здесь объект – выражение, вычисляющее стандартный или определённый программистом объект (точнее, его адрес), имя – имя некоторого метода этого объекта, аргументы – список произвольных выражений, значения которых вычисляются (слева направо) и передаются методу в качестве параметров (сам объект также можно рассматривать как параметр метода). Вычисленное функцией значение и является результатом вызова, используемым при вычислении выражения, в котором этот вызов встретился.
Аргументы могут все или частично отсутствовать, но скобки должны всегда присутствовать.
Пример:
[3,2,1].sort() – это выражение сначала создает объект-массив, затем его метод sort переставляет в нём элементы в порядке возрастания (адрес массива при этом не меняется).
