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

на главную - закладки

Жанры

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 значение;]

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

Император Пограничья 1

Астахов Евгений Евгеньевич
1. Император Пограничья
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Император Пограничья 1

Наследие Маозари

Панежин Евгений
1. Наследие Маозари
Фантастика:
рпг
попаданцы
аниме
5.80
рейтинг книги
Наследие Маозари

Мечников. Клятва лекаря

Алмазов Игорь
2. Жизнь Лекаря с нуля
Фантастика:
альтернативная история
аниме
фэнтези
попаданцы
6.60
рейтинг книги
Мечников. Клятва лекаря

Наемный корпус

Вайс Александр
5. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Наемный корпус

Тринадцатый II

NikL
2. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый II

Бастард

Майерс Александр
1. Династия
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард

Наследник

Шимохин Дмитрий
1. Старицкий
Приключения:
исторические приключения
5.00
рейтинг книги
Наследник

Темный мир

Алмазов Игорь
6. Жизнь Лекаря с нуля
Фантастика:
альтернативная история
аниме
попаданцы
5.00
рейтинг книги
Темный мир

Рассвет русского царства. Книга 2

Грехов Тимофей
2. Новая Русь
Фантастика:
альтернативная история
попаданцы
историческое фэнтези
5.00
рейтинг книги
Рассвет русского царства. Книга 2

Стражи душ

Кас Маркус
4. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Стражи душ

Древесный маг Орловского княжества 5

Павлов Игорь Васильевич
5. Орловское княжество
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 5

Адвокат империи

Карелин Сергей Витальевич
1. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
фэнтези
5.75
рейтинг книги
Адвокат империи

Первый среди равных. Книга V

Бор Жорж
5. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных. Книга V

Тринадцатый VIII

NikL
8. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый VIII