В VBScript есть несколько других важных утверждений, которые помогут разработчикам разработать эффективный скрипт. В следующей таблице приведен список таких важных утверждений. В этой главе мы подробно обсудим каждое из этих утверждений с примерами.
| категория | Имя функции / Название оператора |
|---|---|
| Опции | Вариант Явный |
| ID скриптового движка | ScriptEngine |
| варианты | IsArray, IsEmpty, IsNull, IsNumeric, IsObject, TypeName |
| выражение | Eval, Execute |
| Контрольное заявление | С … Конец |
| Математическая функция | Перемешайте |
Вариант Явный
Опция Explicit заставляет разработчика объявлять переменные с помощью оператора Dim, прежде чем они будут использованы в какой-то части кода.
Синтаксис
Option Explicit
пример
Если мы используем Option Explicit и если мы не объявляем переменные, то интерпретатор выдаст ошибку.
<!DOCTYPE html> <html> <body> <script language = "vbscript" type = "text/vbscript"> Option Explicit Dim x,y,z,a x = 10 y = 20 z = fnadd(x,y) a = fnmultiply(x,y) Function fnadd(x,y) fnadd = x+y End Function </script> </body> </html>
ScriptEngine
ScriptEngine представляет подробную информацию об используемом языке сценариев. Он также используется в сочетании с ScriptEngineMajorVersion, ScriptEngineMinor Version, ScriptEngineBuildVersion, который дает основную версию механизма vbscript, вспомогательную версию механизма vbscript и версию сборки vbscript соответственно.
Синтаксис
ScriptEngine
пример
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim scriptdetails
scriptdetails = " Version " & ScriptEngine & " - "
'For getting Major version, use ScriptEngineMajorVersion'
scriptdetails = scriptdetails & ScriptEngineMajorVersion & "."
'For getting Minor version, use ScriptEngineMinorVersion'
scriptdetails = scriptdetails & ScriptEngineMinorVersion & "."
'For getting Build version, use ScriptEngineBuildVersion'
scriptdetails = scriptdetails & ScriptEngineBuildVersion
Document.write scriptdetails
</script>
</body>
</html>
Сохраните файл с расширением .html после выполнения скрипта в IE, на экране отобразится следующий результат.
Version VBScript - 5.8.16996
Пустой
Функция IsEmpty используется для проверки, является ли выражение пустым. Возвращает логическое значение. IsEmpty возвращает True, если переменная неинициализирована или явно установлена в значение Empty. В противном случае выражение возвращает False.
Синтаксис
IsEmpty(expression)
пример
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim var, MyCheck
MyCheck = IsEmpty(var)
Document.write "Line 1 : " & MyCheck & "<br />"
var = Null ' Assign Null.
MyCheck = IsEmpty(var)
Document.write "Line 2 : " & MyCheck & "<br />"
var = Empty ' Assign Empty.
MyCheck = IsEmpty(var)
Document.write "Line 3 : " & MyCheck & "<br />"
</script>
</body>
</html>
Сохраните файл с расширением .html после выполнения скрипта в IE, на экране отобразится следующий результат.
Line 1 : True Line 2 : False Line 3 : True
Нулевой
Функция IsNull используется для проверки наличия в выражении правильных данных. Возвращает логическое значение. IsNull возвращает True, если переменная равна Null, в противном случае выражение возвращает False.
Синтаксис
IsNull(expression)
пример
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim var, res
res = IsNull(var)
document.write "Line 1 : " & res & "<br />"
var = Null
res = IsNull(var)
document.write "Line 2 : " & res & "<br />"
var = Empty
res = IsNull(var)
document.write "Line 3 : " & res & "<br />"
</script>
</body>
</html>
Сохраните файл с расширением .html после выполнения скрипта в IE, на экране отобразится следующий результат.
Line 1 : False Line 2 : True Line 3 : False
IsObject
Функция IsObject используется для проверки, имеет ли выражение допустимый объект. Возвращает логическое значение. IsObject возвращает True, если выражение содержит подтип объекта, в противном случае выражение возвращает False.
Синтаксис
IsObject(expression)
пример
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim fso,b
b = 10
set fso = createobject("Scripting.Filesystemobject")
x = isobject(fso)
Document.write "Line 1 : " & x & "<br />"
y = isobject(b)
Document.write "Line 2 : " & y & "<br />"
</script>
</body>
</html>
Сохраните файл с расширением .html после выполнения скрипта в IE, на экране отобразится следующий результат.
Line 1 : True Line 2 : False
IsNumeric
Функция IsNumeric используется для проверки того, имеет ли выражение подтип числа. Возвращает логическое значение. IsObject возвращает True, если выражение содержит подтип числа, в противном случае выражение возвращает False.
Синтаксис
IsNumeric(expression)
пример
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim var, chk
var = 20
chk = IsNumeric(var)
Document.write "Line 1 : " & chk & "<br />"
var = "3.1415935745"
chk = IsNumeric(var)
Document.write "Line 2 : " & chk & "<br / >"
var = "20 Chapter 23.123 VBScript"
chk = IsNumeric(var)
Document.write "Line 3 : " & chk & "<br / >"
</script>
</body>
</html>
Сохраните файл с расширением .html после выполнения скрипта в IE, на экране отобразится следующий результат.
Line 1 : True Line 2 : True Line 3 : False
TypeName
Функция TypeName используется для возврата информации о подтипе варианта переменной.
Синтаксис
TypeName(varname)
Функция Typename может возвращать любое из следующих значений.
-
Byte — значение байта
-
Integer — целочисленное значение
-
Long — Long Integer Value
-
Single — Значение с плавающей точкой одинарной точности
-
Double — значение с плавающей точкой двойной точности
-
Валюта — стоимость валюты
-
Десятичное — десятичное значение
-
Дата — Дата или Время Значение
-
String — Строка символов Значение
-
Булево — булево значение
-
Пусто — неинициализированное значение
-
Null — нет действительных данных
-
Object — имя типа объекта
-
Ничего — переменная объекта, которая еще не ссылается на экземпляр объекта
-
ошибка
Byte — значение байта
Integer — целочисленное значение
Long — Long Integer Value
Single — Значение с плавающей точкой одинарной точности
Double — значение с плавающей точкой двойной точности
Валюта — стоимость валюты
Десятичное — десятичное значение
Дата — Дата или Время Значение
String — Строка символов Значение
Булево — булево значение
Пусто — неинициализированное значение
Null — нет действительных данных
Object — имя типа объекта
Ничего — переменная объекта, которая еще не ссылается на экземпляр объекта
ошибка
пример
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim ArrVar(2), vartype
NullVar = Null ' Assign Null value.
vartype = TypeName(3.1450)
Document.write "Line 1 : " & vartype & "<br />"
vartype = TypeName(432)
Document.write "Line 2 : " & vartype & "<br />"
vartype = TypeName("Microsoft")
Document.write "Line 3 : " & vartype & "<br />"
vartype = TypeName(NullVar)
Document.write "Line 4 : " & vartype & "< br />"
vartype = TypeName(ArrVar)
Document.write "Line 5 : " & vartype & "<br />"
</script>
</body>
</html>
Сохраните файл с расширением .html после выполнения скрипта в IE, на экране отобразится следующий результат.
Line 1 : Double Line 2 : Integer Line 3 : String Line 4 : Null Line 5 : Variant()
Eval
Функция Eval выполняет выражение и возвращает результат в виде строки или числа.
Синтаксис
Eval(expression)
Аргумент Expression может быть строковым выражением или числом. Если вы передаете в функцию Eval строку, которая не содержит числовое выражение или имя функции, а содержит только простую текстовую строку, возникает ошибка во время выполнения. Например, Eval («VBScript») приводит к ошибке.
пример
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Document.write Eval("10 + 10") & "<br />"
Document.write Eval("101 = 200") & "<br />"
Document.write Eval("5 * 3") & "<br />"
</script>
</body>
</html>
Сохраните файл с расширением .html после выполнения скрипта в IE, на экране отобразится следующий результат.
20 false 15
казнить
Оператор Execute принимает аргумент, который является строковым выражением, содержащим один или несколько операторов для выполнения.
Синтаксис
Execute(expression)
В VBScript a = b можно интерпретировать двумя способами. Его можно рассматривать как оператор присваивания, в котором значение x присваивается y. Это также может быть интерпретировано как выражение, которое проверяет, имеют ли a и b одинаковые значения. Если они это сделают, результат — Истина; если это не так, результатом является Ложь. Оператор Execute всегда использует первую интерпретацию, а оператор Eval всегда использует вторую.
пример
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim x
x = "Global"
y = "VBScript"
Execute("x = y")
msgbox x
msgbox y
</script>
</body>
</html>
Сохраните файл с расширением .html после выполнения скрипта в IE, на экране отобразится следующий результат.
VBScript VBScript
С … Конец с
Оператор With позволяет нам выполнять серию операций с указанным объектом без явного повторного упоминания имени объекта.
Синтаксис
With (objectname) statement 1 statement 2 statement 3 ... ... statement n End With
пример
После выполнения следующего скрипта Winword открывается и вводится указанный текст.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Msg = "Vbscript" & vbCrLf & "Programming"
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
' Objects methods are accessed without requaliyfying the objects again.'
With objWord
.Documents.Add
.Selection.TypeText Msg
.Selection.WholeStory
End With
</script>
</body>
</html>
Перемешайте
Оператор Randomize инициализирует генератор случайных чисел, который помогает разработчикам генерировать случайные числа.
Синтаксис
Randomize [number]
пример
После выполнения следующего скрипта Winword открывается и вводится указанный текст.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim MyValue
Randomize
MyValue = Int((100 * Rnd) + 1) ' Generate random value between 1 and 100.
MsgBox MyValue
</script>
</body>
</html>
Сохраните вышеприведенный скрипт как HTML, и после выполнения скрипта в IE будет показан следующий вывод.