- VBScript 教程
- VBScript - 首页
- VBScript - 概述
- VBScript - 语法
- VBScript - 启用
- VBScript - 位置
- VBScript - 变量
- VBScript - 常量
- VBScript - 运算符
- VBScript - 决策
- VBScript - 循环
- VBScript - 事件
- VBScript - Cookie
- VBScript - 数字
- VBScript - 字符串
- VBScript - 数组
- VBScript - 日期
- VBScript 高级
- VBScript - 过程
- VBScript - 对话框
- VBScript - 面向对象
- VBScript - 正则表达式
- VBScript - 错误处理
- VBScript - 杂项语句
- VBScript 有用资源
- VBScript - 问答
- VBScript - 快速指南
- VBScript - 有用资源
- VBScript - 讨论
VBScript 杂项语句
VBScript 还有一些其他重要的语句,可以帮助开发人员开发高效的脚本。下表列出了一些这样的重要语句。本章将详细讨论这些语句并举例说明。
类别 | 函数名称/语句名称 |
---|---|
选项 | Option Explicit |
脚本引擎 ID | ScriptEngine |
变体 | IsArray, IsEmpty, IsNull, IsNumeric, IsObject, TypeName |
表达式 | Eval, Execute |
控制语句 | With...End With |
数学函数 | Randomize |
Option Explicit
Option 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 引擎的主版本、次版本和内部版本。
语法
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 函数用于检查表达式是否为空。它返回一个布尔值。如果变量未初始化或显式设置为 Empty,则IsEmpty 返回 True。否则,表达式返回 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 函数用于检查表达式是否具有有效数据。它返回一个布尔值。如果变量为 Null,则IsNull 返回 True;否则,表达式返回 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 - 长整数值
Single - 单精度浮点值
Double - 双精度浮点值
Currency - 货币值
Decimal - 十进制值
Date - 日期或时间值
String - 字符串值
Boolean - 布尔值
Empty - 未初始化的值
Null - 无效数据
Object - 对象的类型名称
Nothing - 尚未引用对象实例的对象变量
错误
示例
<!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 语句接受一个参数,该参数是一个字符串表达式,其中包含一个或多个要执行的语句。
语法
Execute(expression)
在 VBScript 中,a = b 可以解释为两种方式。它可以被视为赋值语句,其中 x 的值被赋值给 y。它也可以被解释为一个表达式,用于测试 a 和 b 是否具有相同的值。如果相同,则结果为 True;如果不相同,则结果为 False。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..End With
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 语句初始化随机数生成器,这有助于开发人员生成随机数。
语法
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 中执行脚本后,将显示以下输出。
42