Чтение онлайн

на главную

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

в цикле

for…in
переменная цикла переходит к следующему полю объекта, и тело цикла выполняется вновь.

Пример использования оператора

continue
:

var s = "", i=0;

while (i < 10) {

 i++;

 // Пропускаем число 5

 if (i==5) {

continue;

 }

}

s += i;

Прочие операторы

Рассмотрим еще несколько часто применяемых операторов (см. табл. П1.9). 

Таблица П1.9. Прочие операторы

Оператор Описание
.
Точка.
Применяется для доступа к свойству объекта или для вызова его метода
[]
Квадратные скобки. Применяются для индексирования массива
Скобки. Применяются либо для изменения порядка вычисления выражений, либо для передачи параметров функциям
,
Запятая. Применяется для многократных вычислений

С помощью оператора "

,
" можно, например, в разделе итерации цикла
for
изменять значение сразу нескольких переменных:

var i, j;

j = 10;

for (i = 0; i<=10; i++, j--) {

 …

}

Обработка исключительных ситуаций 

Во время выполнения сценария могут возникать различные исключительные ситуации (например, деление на ноль или попытка открыть несуществующий файл), которые приводят к ошибкам времени выполнения — при этом на экран выводится диалоговое окно с сообщением об ошибке и выполнение сценария прекращается.

Существует возможность написать код сценария таким образом, чтобы исключительные ситуации не приводили к завершению работы, а обрабатывались бы внутри сценария. Для осуществления подобной обработки исключительных ситуаций в JScript необходимо использовать конструкцию

try…catch
. Синтаксис следующий:

try

 Защищенный блок

catch (except)

 Блок обработки исключительных ситуаций

После ключевого слова

try
здесь записываются те операторы, при выполнении которых потенциально может возникнуть ошибка. В качестве параметра
except
надо использовать любое имя переменной (предварительно объявлять эту переменную не нужно). Если в защищенном блоке не возникло ошибки, то значение этой переменной будет равно нулю; в случае же возникновения исключительной ситуации управление сразу передается в блок
catch
, при этом переменная
except
как экземпляр объекта
Error
будет содержать два свойства:
error
— числовой код возникшей ошибки и
description
— краткое описание ошибки.

В качестве примера приведем часть сценария, в которой происходит обработка исключительных ситуаций при подключении сетевого диска:

try {

 //Подключаем сетевой диск

 WshNetwork.MapNetworkDrive(Drive, NetPath);

} catch (e) {

 //Обрабатываем возможные ошибки

 if (e != 0) {

//Выводим сообщение об ошибке

Mess="Ошибка при подключении диска " + Drive + " к " + NetPath+

"\nКод ошибки: "+е.number+"\nОписание: "+е.description;

WshShell.Popup(Mess, 0, "Подключение сетевого диска", vbCritical);

 }

}

Порядок выполнения операторов 

В табл. П1.10 операторы языка JScript расположены по старшинству, т.е. в составных операторах первыми будут выполняться те из них, которые стоят в этой таблице выше. Если операторы расположены в одной строке таблицы, то они выполняются слева направо.

Таблица П1.10. Порядок выполнения операторов

Оператор Описание
. []
Доступ к полю объекта, индексирование в массиве, вызов функции
++ -- - ~ !
Унарные операторы
* / %
Умножение, деление, вычисление остатка от деления
+ - +
Сложение, вычитание, конкатенация строк
<< >> >>>
Битовые сдвиги
< <= > >=
Меньше, меньше или равно, больше, больше
или равно
== !=
Равенство, неравенство
&
Логическое И
^
Логическое ИСКЛЮЧАЮЩЕЕ ИЛИ
|
Логическое ИЛИ
&&
Оператор отношения И
||
Оператор отношения ИЛИ
?:
Условный оператор
= += -= *= /= %= >>= >>>= <<= |= &= ^=
 Присваивание
,
Многократное вычисление

Функции

Функции в JScript, как и в других алгоритмических языках, позволяют объединить несколько операций под одним именем. В случае необходимости функция может быть вызвана из любого места сценария.

В сценариях JScript поддерживаются два вида функций: встроенные функции и функции пользователя, которые вы пишете сами. 

Встроенные функции

В табл. П1.11 описаны встроенные функции языка JScript, которые в сценарии можно вызывать в любом месте без предварительного описания.

Таблица П1.11. Встроенные функции

Функция Описание 
escape(charstring)
 
Кодирование строки
charstring
с применением URL-кодировки. При этом все специальные неотображаемые символы преобразуются к виду %хх, где хх — шестнадцатеричный код символа 
eval(codestring)
 
Интерпретация и выполнение кода JScript, содержащегося в строке
codestring
. Эта функция позволяет динамически создавать текст сценария
isFinite(number)
Возвращает
true
, если параметр
number
является корректным числом. В противном случае возвращает
false
isNaN(numvalue)
Возвращает
true
, если параметр
numvalue
имеет специальное значение NaN (см. описание числового типа). В противном случае возвращает
false
. Эту функцию можно применять для оценки значений; возвращаемых функциями преобразования типов
parseInt
и
parseFloat
parseFloat(numstring)
Преобразовывает строку
numstring
в число с плавающей точкой
parseInt(numstring, [radix])
Преобразовывает строку
numstring
в целое число. Целочисленный параметр
radix
может принимать значения от 2 до 36, которые указывают основание счисления для числа, содержащегося в numstring. Если
radix
не указан, то строки с префиксом
'0х'
задают шестнадцатеричные числа, а строки с префиксом '
0
' — восьмеричные. Все остальные строки определяют десятичные числа
unescape(charstring)
Выполняет действие, противоположное действию функции
escape
, т.е. перекодирует строку
charstring
из URL-кодировки в текстовую строку

Функции пользователя 

Функции, определяемые пользователем, могут находиться в любом месте сценария и иметь произвольное число параметров (аргументов). Общий вид определения функции имеет вид:

function Имя_функции([параметр1] [, параметр2] [... , параметрN]) {

 …

 Тело функции

 …

 [return значение;]

Поделиться:
Популярные книги

Отмороженный 6.0

Гарцевич Евгений Александрович
6. Отмороженный
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Отмороженный 6.0

Совок 2

Агарев Вадим
2. Совок
Фантастика:
альтернативная история
7.61
рейтинг книги
Совок 2

Один на миллион. Трилогия

Земляной Андрей Борисович
Один на миллион
Фантастика:
боевая фантастика
8.95
рейтинг книги
Один на миллион. Трилогия

Мне нужна жена

Юнина Наталья
Любовные романы:
современные любовные романы
6.88
рейтинг книги
Мне нужна жена

Магнатъ

Кулаков Алексей Иванович
4. Александр Агренев
Приключения:
исторические приключения
8.83
рейтинг книги
Магнатъ

На границе империй. Том 8. Часть 2

INDIGO
13. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 8. Часть 2

Системный Нуб

Тактарин Ринат
1. Ловец душ
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Системный Нуб

Не верь мне

Рам Янка
7. Самбисты
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Не верь мне

Столичный доктор

Вязовский Алексей
1. Столичный доктор
Фантастика:
попаданцы
альтернативная история
8.00
рейтинг книги
Столичный доктор

LIVE-RPG. Эволюция 2

Кронос Александр
2. Эволюция. Live-RPG
Фантастика:
социально-философская фантастика
героическая фантастика
киберпанк
7.29
рейтинг книги
LIVE-RPG. Эволюция 2

Изгой. Пенталогия

Михайлов Дем Алексеевич
Изгой
Фантастика:
фэнтези
9.01
рейтинг книги
Изгой. Пенталогия

Мама из другого мира. Делу - время, забавам - час

Рыжая Ехидна
2. Королевский приют имени графа Тадеуса Оберона
Фантастика:
фэнтези
8.83
рейтинг книги
Мама из другого мира. Делу - время, забавам - час

Неудержимый. Книга X

Боярский Андрей
10. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга X

Его темная целительница

Крааш Кира
2. Любовь среди туманов
Фантастика:
фэнтези
5.75
рейтинг книги
Его темная целительница