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

ЖАНРЫ

Windows Script Host для Windows 2000/XP

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

Шрифт:

Таблица П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 значение;]

}

Ключевое слово

return
позволяет функции вернуть значение любого допустимого типа. Например, приведенная ниже функция
MyFunction
возвращает
true
, если оба ее аргумента меньше 10:

function MyFunction(х,у) {

 if ((х<10) && (у<10)) return true

 else return false;

}

Встроенные объекты (классы)

Как уже отмечалось в самом начале раздела, JScript является объектно-ориентированным языком, поэтому математические вычисления, работа со строками, датой и временем, а также такими структурами, как массивы и коллекции, осуществляются с помощью соответствующих встроенных объектов. В табл. П1.12 описаны некоторые объекты, которые могут быть полезны при создании сценариев с помощью WSH.

Таблица П1.12. Некоторые встроенные объекты JScript

Объект Описание
Array
Создание и работа с массивами данных произвольного типа
Date
Работа с данными, содержащими дату или время
Enumerator
Работа с коллекциями данных произвольного типа
Math
Выполнение математических вычислений
String
Работа с текстовыми строками

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

new
и специальная функция — конструктор нужного объекта. Название конструктора всегда совпадает с названием соответствующего встроенного объекта. Приведем пример создания
объектов
Date
и
Array
!

var d;

d = new Date;

var a;

a = new Array(10);

Отметим, что объекты string можно создавать, просто записывая в кавычках значение строки:

var s;

s = "Привет!";

Опишем объекты, приведенные в табл. П1.12, более подробно.

Объект Array

Новый объект встроенного класса

Array
можно создать с помощью оператора
new
следующими способами:

new Array
— создание массива нулевой длины;

new Array(N)
— создание массива длины
N
;

new Array(а0, a1, ..., aN)
— создание массива длины
N+1
c элементами
а0
,
a1
, ...,
aN
.

Например:

var A1, А2, A3;

A1 = new Array;

A2 = new Array(3);

A3 = new Array(0, "Строка", 2.5);

Нумерация элементов в массивах всегда начинается с нуля. После того как массив создан и проинициализирован, обращаться к его элементам можно с помощью обычного оператора индексации [], например:

A3[1] = А3[0] + A3[2];

Длину массива, т.е. число содержащихся в нем элементов, можно узнать с помощью свойства

length
объекта
Array
. Для того чтобы динамически изменить длину массива (уменьшить или увеличить), достаточно просто записать соответствующее значение в свойство length:

var А;

А = new Array(1,2,3,4,5); // Длина массива А равна 5

A.length = 3; // Теперь длина массива А равна 3

Некоторые наиболее часто используемые методы встроенного объекта

Array
описаны в табл. П1.13.

Таблица П1.13. Методы объекта

Array

Метод Описание
a1.concat(а2)
Возвращает новый массив, являющийся результатом объединения (склеивания) двух массивов:
a1
(его элементы идут первыми) и
а2
(его элементы идут после элементов массива
a1
)
join(separator)
Возвращает строку, содержащую все идущие друг за другом элементы массива, разделенные символом, указанным в параметре
separator
reverse
Располагает элементы массива в обратном порядке (первый меняется местами с последним, второй — с предпоследним и т.д.). Новый массив при этом не создается
slice(start, [end])
Возвращает часть массива, начиная с элемента с индексом
start
, заканчивая элементом с индексом
end
. Если в качестве
end
указано отрицательное число, то оно задает смещение от конца массива. Если параметр
end
не указан, то берутся все элементы массива, начиная с элемента с индексом
start
sort([sortfunction])
Возвращает массив с отсортированными элементами. Параметр
sortfunction
определяет имя функции, используемой для сортировки; если этот параметр опущен, то сортировка производится в порядке увеличения ASCII-кодов элементов массива

Пример использования методов объекта Array приведен в листинге П1.4.

Листинг П1.4. Пример использования методов объекта
Array

var A1, А2, A3;

A1 = new Array(2);

A2 = new Array(2,3,4,5);

A1[0] = 0;

A1[1] = 1;

A3 = A2.concat(A1); // A3=(2,3,4,5,0,1)

A3.sort; // A3=(0,1,2,3,4,5)

Поделиться с друзьями: