
- •Федеральное государственное учреждение
- •©Российская таможенная академия, 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]
- •Основы программирования
Автоматическое преобразование типов значений. Функции преобразования и проверки типов
Автоматическое преобразование типов значений при выполнении операций было описано в п. 10.
Но в тех случаях, когда автоматическое преобразование типа не происходит или не даёт нужного результата, может помочь применение специальных функций и методов. В языке JavaScript для этой цели используются:
метод toString – преобразует числа, массивы, значения true, false, null, undefined, NaN, Infinity и даже определяемые программистом функции (они также являются объектами) в определяющую их строку;
функции parseFloat и parseInt – преобразуют строку, определяющую число, в само это число, вещественное (Float) или целое (Int); это нужно, например, когда пользователь вводит числа, а они принимаются как строки.
Синтаксис вызова этих функций следующий.
Выражение.toString() – если значение выражения нужно преобразовать в строку. Если значение выражения – целое число, то оно преобразуется в обычную десятичную запись этого числа.
Выражение.toString(основание) – если значение выражения является целым числом и его нужно преобразовать в строку, изображающую это число в системе счисления с указанным основанием. Основанием может быть любое число от 2 до 36. Например, (5).toString(2) равно "101" – двоичная форма числа 5.
parseFloat(строка) – извлекает вещественное или десятичное целое число в начале строки (по максимуму)
parseInt(строка) – извлекает восьмеричное, десятичное или шестнадцатеричное целое число в начале строки (по правилам литералов для целых чисел)
parseInt(строка, основание между 2 и 36) – извлекает целое число в начале строки, рассматривая цифры и, возможно, латинские буквы как цифры в системе счисления с указанным основанием (10 цифр и 26 латинских букв дают 36 символов для системы счисления).
Операция typeof используется для проверки типа получаемых значений. Одноместная операция typeof выдаёт строку с названием типа значения, которое выдаст выражение-операнд. Результатом этой операции могут быть только строки "number", "string", "boolean", "object", "function" и "undefined". Операция имеет вид
typeof выражение или typeof(выражение).
Ввод и вывод значений
В JavaScript есть три разных метода для ввода информации пользователем и вывода её на экран – alert, confirm и prompt. Каждый из них показывает на экране диалоговое окно – окно сообщения («тревоги»), подтверждения и приглашения, соответственно, – и ждёт ответа пользователя.
Метод alert(сообщение) выводит на экран сообщение (см. рис. 6). После ознакомления с ним пользователь должен закрыть окно нажатием кнопки ОК (или любым другим способом). Тогда произойдёт выход из функции. Функция alert не выдаёт никакого значения, поэтому программа просто продолжит свою работу.
Рис. 6. Результат вызова метода alert ("Привет!").
Метод confirm(сообщение) выдаёт на экран сообщение-вопрос (см. рис. 7). Пользователь должен дать утвердительный ответ (кнопка ОК) или отрицательный (кнопка Отмена). В первом случае функция confirm выдаёт значение true, а во втором – false. Программа может использовать это значение для выбора продолжения.
Рис. 7. Результат вызова метода confirm("Хотите продолжить игру?").
Рис. 7. Результат вызовы метода prompt("Как тебя зовут?", "").
Метод prompt(сообщение, вариант ответа) выдаёт на экран сообщение-запрос и текстовое поле для ввода ответа (см. рис. 8). При нажатии кнопки ОК функция выдаёт в качестве результата строку из текстового поля, и программа может её обработать. При нажатии кнопки Отмена функция выдаёт значение null. Если в вызове отсутствует второй аргумент, в качестве варианта ответа в поле ввода появляется строка "undefined".