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

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

Жанры

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

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

Очкарик

Афанасьев Семён
Фантастика:
фэнтези
5.75
рейтинг книги
Очкарик

Эволюционер из трущоб. Том 5

Панарин Антон
5. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 5

Истребители. Трилогия

Поселягин Владимир Геннадьевич
Фантастика:
альтернативная история
7.30
рейтинг книги
Истребители. Трилогия

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

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

Командор космического флота

Борчанинов Геннадий
3. Звезды на погонах
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Командор космического флота

Назад в СССР 5

Дамиров Рафаэль
5. Курсант
Фантастика:
попаданцы
альтернативная история
6.64
рейтинг книги
Назад в СССР 5

Мастер 10

Чащин Валерий
10. Мастер
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 10

Идеальный мир для Лекаря 2

Сапфир Олег
2. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 2

Я - злодейка в дораме. Сезон второй

Вострова Екатерина
2. Выжить в дораме
Фантастика:
уся
фэнтези
сянься
попаданцы
5.00
рейтинг книги
Я - злодейка в дораме. Сезон второй

Надуй щеки! Том 3

Вишневский Сергей Викторович
3. Чеболь за партой
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Надуй щеки! Том 3

Ученик

Листратов Валерий
2. Ушедший Род
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Ученик

Законы Рода. Том 12

Андрей Мельник
12. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Законы Рода. Том 12

Кодекс Охотника. Книга XVI

Винокуров Юрий
16. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVI

Сильнейший Столп Империи. Книга 4

Ермоленков Алексей
4. Сильнейший Столп Империи
Фантастика:
фэнтези
аниме
фантастика: прочее
попаданцы
5.00
рейтинг книги
Сильнейший Столп Империи. Книга 4