Сравнительный анализ JavaScript и VBScriptРефераты >> Программирование и компьютеры >> Сравнительный анализ JavaScript и VBScript
В своем простейшем использовании тип Variant содержит либо числовые данные, либо символьные строки – типы данных, наиболее часто встречаемые при написании сценария. Реально содержащиеся в вариантом типе данные могут быть одного из типов, называемых подтипами типа Variant, представленных в табл.1.
Таблица 1. Подтипы данных, хранящихся в типе Variant
Подтип |
Описание |
Функция преобразования |
Empty |
Переменная не инициализирована | |
Null |
Переменная не содержит никаких допустимых данных | |
Error |
Содержит номер ошибки | |
Boolean |
Содержит значения либо True, либо False |
CBool |
Byte |
Содержит целые числа в диапазоне от 0 до 255 |
CByte |
Integer |
Содержит целые числа в диапазоне от -32 768 до 32 767 |
CInt |
Currency |
Значения в диапазоне от -922 337 203 685 477.5808 до 922 337 203 685 477.5807 |
CCur |
Long |
Содержит целые числа в диапазоне от -2 147 483 648 до 2 147 483 647 |
CLng |
Single |
Содержит вещественные числа с плавающей точкой одинарной точности в диапазоне от -3.402823E38 до -1.401298E-45 для отрицательных значений и от 1.401298E-45 до 3.402823E38 для положительных значений |
CSng |
Double |
Содержит вещественные числа с плавающей точкой удвоенной точности в диапазоне от -1.79769313486232E308 до -4.94065645841247E-324 для отрицательных значений и от 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 байт памяти.
Иногда в некоторых вычислениях необходимо явно преобразовать содержащийся в переменной подтип в другой. Для этого в VBScript имеется ряд функций преобразования в соответствующие типы. В табл. 1 последний столбец содержит имена функций преобразования в соответствующий подтип. Эти функции в качестве параметра принимают литералы, переменные и выражения.
Переменные
JavaScript
Каждая переменная имеет имя, которое должно начинаться с буквы латинского алфавита, либо символа подчеркивания “_”, за которым следует любая комбинация алфавитно-цифровых символов или символов подчеркивания. Следующие имена являются допустимыми именами переменных