- 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