- •Федеральное государственное учреждение
- •©Российская таможенная академия, 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]
- •Основы программирования
Файлы и файловая система
Файл – важная структура данных, предназначенная для сохранения значений в дисковой памяти компьютера и на внешних носителях данных и позволяющая использовать одни и те же данные разными программами и на разных компьютерах. Файл представляет собой поименованную последовательность значений, доступ к которым осуществляется либо прямо по индексу (прямой доступ), либо последовательными перемещениями от текущего значения к следующему или предыдущему (последовательный доступ). По содержащимся в файле значениям различают текстовые и бинарные файлы. В текстовом файле значениями являются текстовые символы, а в бинарном – любые другие значения, представленные в двоичной форме.
Файловая система – это система управления файлами. Она является частью операционной системы компьютера и поэтому отражает особенности конкретной ОС. В Windows, как и во многих других ОС, основными объектами файловой системы являются диски, папки (каталоги) и файлы. Каждая папка может содержать файлы и другие папки. Папка, в которой содержатся все папки и файлы, хранящиеся на диске, называется корневой папкой этого диска. Все папки, кроме корневой, имеют имена. Папка, в которой непосредственно содержится файл или другая папка, называется родительской. Каждый диск помечен какой-то латинской буквой (буква диска) и, кроме того, может иметь имя.
Каждый диск, каталог (папка) или файл может быть найден в системе по его пути. Путь диска – это буква диска, за которой следует двоеточие, например «D:». Путь корневой папки – это путь диска, за которым следует обратный слэш, например, «D:\». Путь папки – это путь родительской папки, за которым следует имя папки и обратный слэш (последний слэш обычно не пишут). Путь файла – это путь родительской папки, за которым следует имя файла.
Операционная система располагает набором команд, с помощью которых пользователь может получить или изменить то или иное свойство диска, папки или файла, отформатировать диск, создать, скопировать, переместить или удалить папку или файл, прочесть файл и записать в него информацию. В некоторых языках программирования можно исполнять эти команды. Ошибки в программах на таких языках или злой умысел программиста может привести к потере и искажению системных и пользовательских данных и программ.
В стандартах ECMA языка JavaScript в целях безопасности вообще нет понятия файла и файловой системы. Однако в Windows содержится библиотека ActiveX-объектов Scripting, позволяющая использовать эти объекты в сценариях, написанных на JavaScript (и других языках сценариев). Эта библиотека сильно расширяет возможности Web-приложений, но требует особой заботы об их безопасности.
Система Scripting содержит средства и для работы с компонентами файловой системы компьютера, включая локальные, съёмные и сетевые диски и их содержимое. Это, прежде всего, программные объекты следующих типов:
FileSystemObject (ActiveX-объект, предоставляющий средства доступа ко всей файловой системе компьютера, на котором исполняется программа)
Drive (объект, предоставляющий доступ к конкретному диску)
Folder (объект, позволяющий работать с конкретным каталогом и его содержимым)
File (объект, позволяющий работать с конкретным файлом, но не с его содержимым)
TextStream (объект, предоставляющий последовательный доступ к содержимому текстового файла для чтения или записи).
У этих объектов нет своих конструкторов. Создаются они (кроме объектов типа TextStream) при создании объекта FileSystemObject, который создаётся конструктором ActiveX-объектов:
fso = new ActiveXObject("Scripting.FileSystemObject")
Здесь fso– переменная, которой присваивается созданный объект.
При создании объекта FileSystemObject на клиентской машине Web-браузер сначала запрашивает у пользователя разрешение, и лишь получив его, создаёт объект, открывая тем самым сценарию Web-страницы доступ к информационным ресурсам компьютера (на сервере разрешение не запрашивается). Все создаваемые при этом объекты типа Drive, Folder и File соответствуют реальным дискам, папкам и файлам, имеющимся в этот момент в файловой системе компьютера. Свойства и методы этих объектов, связанные с текстовыми файлами, будут рассмотрены ниже. Полный перечень объектов, связанных с FileSystemObject, вместе с их свойствами и методами приводится в Приложении 4.
