- •Федеральное государственное учреждение
- •©Российская таможенная академия, 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]
- •Основы программирования
Объекты типа TextStream
Каждый объект типа TextStream связан с конкретным текстовым файлом. Его методы позволяют читать из файла и писать в файл, а также закрывают файл в конце работы с ним.
Методы, используемые при чтении файла, связанного с объектом типа TextStream:
Объект.Read(количество символов) – читает из файла указанное количество символов и выдаёт построенную из них строку.
Объект.ReadAll() – читает весь текст из файла и выдаёт его как строку.
Объект.ReadLine() – читает из файла одну строку (от текущего символа до конца строки) и выдаёт её в качестве результата; символ конца строки в результат не включается.
Объект.Skip(количество символов) – пропускает в файле указанное количество символов и ничего не выдаёт.
Объект.SkipLine() – пропускает текст в файле до конца строки, включая символ конца строки, и ничего не выдаёт.
Методы, используемые для записи в файл, связанный с объектом типа TextStream:
Объект.Write(строка) – записывает в конец файла указанную строку и ничего не выдаёт.
Объект.WriteLine(строка) – записывает в конец файла указанную строку и добавляет символ конца строки; ничего не выдаёт.
Объект.WriteBlankLines(количество строк) – записывает в конец файла указанное количество пустых строк и ничего не выдаёт.
Метод закрытия текстового файла выводит в файл из буфера записи остаток записанного текста и удаляет связанный с файлом объект типа TextStream. Для последующего доступа к содержимому файла его снова нужно открыть методом OpenTextFile. Синтаксис метода следующий:
Объект.Close()
Пример. Следующая функция выдаёт строку "world!":
function SkipDemo()
{var fso, f, r;
//Создаётся объект типа FileSystemObject
fso=new ActiveXObject("Scripting.FileSystemObject");
//Открывается файл c:\testfile.txt (возможно, с созданием) как
//объект типа TextStream для записи в кодировке ASCII
f=fso.OpenTextFile("c:\\testfile.txt",2,true);
f.WriteLine("Hello world!"); //записывается первая строка
f.WriteLine("JScript is fun");//записывается вторая строка
f.Close(); //запись завершается с закрытием файла
//Снова открывается файл c:\testfile.txt (без создания) как
//объект типа TextStream для чтения в кодировке ASCII
f=fso.OpenTextFile("c:\\testfile.txt",1);
f.Skip(6); //пропускается 6 символов "Hello "
r=f.ReadLine(); //читается строка до конца, выдаётся "world!"
return(r) //при выходе из функции уничтожается локальная //переменная f вместе с объектом типа TextStream, а поскольку он для //чтения, то закрывать файл теперь не нужно.
}
При попытке чтения из конца файла, т.е. после того, как прочитан последний символ, или когда файл пуст, возникает ошибка. Чтобы её избежать, следует перед чтением проверять свойство
Объект.AtEndOfStream,
истинное, если указатель чтения находится в конце файла, и ложное в противном случае.
Пример. Печать содержимого файла:
fso=new ActiveXObject("Scripting.FileSystemObject");
f=fso.OpenTextFile("c:\\testfile.txt",1,false);
if (f.AtEndOfStream) r=”” //если файл пуст, его не читать
else r=f.ReadAll();
alert(r);
Полезными являются и другие свойства объекта типа TextStream:
Объект.AtEndOfLine – true, если указатель в конце строки, и false в противном случае.
Объект.Line – номер текущей строки (счет строк начинается с 1).
Объект.Column – номер текущего символа текущей строки (счёт символов в строке начинается с 1).
