Реферат: Сравнительный анализ языков программирования JavaScript и VBScript
и от 4.94065645841247E-324 до 1.79769313486232E308
для положительных значений
CDbl
Date(Time)
Содержит число, которое представляет дату в диапазоне от 1 января 100 года до 31 декабря 9999 года
CDate
String
Содержит строку переменной длины (до 2 миллионов символов)
CStr
Object
Содержит ссылку на объект
Первые три подтипа, собственно говоря, не являются подтипами, а представляют значения, которые может принимать вариантный тип.
Значение Empty имеет переменная, которая была объявлена в операторе Dim (см. ниже), но ей еще не присваивали никакого значения. Это значение считается равным 0 в математических операциях и равным пустой строке (“”) в операциях со строковыми значениями.
Значение Null означает, что переменная не содержит данных. Его не следует путать со значением Empty. Вариантная переменная может получить значение Null в результате выполнения некоторых операций над ней. Это значение можно присвоить переменной, тогда как значение Empty – нельзя.
Значение Error – это специальное значение, которое используется для указания возникновения ошибки в процедуре.
Каждый подтип данных задается с помощью литералов. Числовые литералы представляют собой целые числа, действительные числа с плавающей или фиксированной точкой. Примеры числовых литералов приведены ниже:
23 ‘Целое число
-23.78 ‘Действительное число с фиксированной точкой
-237.8E-1 ‘Действительное число с плавающей точкой
Строковые литералы задаются в виде последовательности символов, заключенных в двойные кавычки (“):
“Это строковый литерал”.
Литералы даты и времени заключаются между символами числовых знаков (#). VBScript поддерживает большое число форматов даты и времени. Следующие примеры показывают правильные литералы даты и времени, соответствующие дате 10 июня 1999 года:
#10-6-99 22:20#
#10/6/99#
#10/6/99 10:20pm#
Внутренне литералы даты и времени представляются в виде действительных чисел удвоенной точности. Целая часть представляет количество дней, прошедших от даты 30 декабря 1899 года, а дробная часть – время суток.
Булевы литералы True и False являются константами целого типа, принимающими соответственно значения 1 и 0. Любое числовое значение, не равное нулю, преобразуется функцией CBool в True, а нулевое значение (целое или действительное) – в False.
Вариантный тип данных при использовании в выражениях в качестве операндов разнообразных операторов языка обрабатывается в зависимости от подтипа содержащихся в нем данных. Например, при использовании переменных этого типа данных в операторе сложения (+) результат зависит от того, какие подтипы данных в них содержатся. Если хотя бы один из операндов содержит число, то результат будет сумма значений двух переменных (содержимое второго операнда преобразуется к числовому подтипу), если оба операнда содержат строковые данные, тот результатом будет конкатенация строк.
Вариативный тип данных предоставляет программисту более эффективный способ обработки и хранения данных, не заботясь о типе хранимых данных. Если, например, при вычислениях первоначально в переменной вариантного типа хранилось значение типа Byte (число в диапазоне от 0 до 255), и в результате выполнения некоторых действий это значение стало отрицательным, то просто изменится представление этого числа в переменной (оно станет Integer) и не возникает никакой ошибки. Правда, за это удобство приходится платить используемой памятью: для вариантного типа данных вне зависимости от хранимого подтипа нужно 16 байт памяти.