VBScript还有其他一些重要的声明,可以帮助开发人员开发高效的脚本。下表列出了一组此类重要声明。在本章中,我们将通过示例详细讨论每个语句。
类别 | 功能名称/声明名称 |
---|---|
选件 | 显式期权 |
脚本引擎ID | 脚本引擎 |
变体 | IsArray,IsEmpty,IsNull,IsNumeric,IsObject,TypeName |
表达 | 评估执行 |
控制声明 | 用…结束用 |
数学函数 | 随机化 |
显式期权
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表示正在使用的脚本语言的详细信息。它还可以与ScriptEngineMajorVersion,ScriptEngineMinor版本,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>
在IE中执行脚本后,以.html扩展名保存文件,屏幕上显示以下结果。
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>
在IE中执行脚本时,以.html扩展名保存文件,屏幕上显示以下结果。
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>
在IE中执行脚本时,以.html扩展名保存文件,屏幕上显示以下结果。
Line 1 : False Line 2 : True Line 3 : False
IsObject
IsObject函数用于检查表达式是否具有有效的Object。它返回一个布尔值。如果表达式包含对象子类型,则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>
在IE中执行脚本时,以.html扩展名保存文件,屏幕上显示以下结果。
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>
在IE中执行脚本后,以.html扩展名保存文件,屏幕上显示以下结果。
Line 1 : True Line 2 : True Line 3 : False
类型名称
TypeName函数用于返回变量的变量子类型信息。
语法
TypeName(varname)
Typename函数可以返回以下任何值。
- Byte-字节值
- Integer – 整数值
- Long – 长整数值
- Single-单精度浮点值
- Double-双精度浮点值
- Currency-货币价值
- Decimal -十进制值
- Date -日期或时间值
- String-字符串值
- Boolean -布尔值
- Empty-未初始化的值
- Null -没有有效数据
- Object -对象的类型名
- Nothing -尚未引用对象实例的对象变量
- Error
例
<!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>
在IE中执行脚本时,以.html扩展名保存文件,屏幕上显示以下结果。
Line 1 : Double Line 2 : Integer Line 3 : String Line 4 : Null Line 5 : Variant()
评估
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>
在IE中执行脚本时,以.html扩展名保存文件,屏幕上显示以下结果。
20 false 15
执行
Execute语句接受参数,该参数是一个字符串表达式,其中包含一个或多个要执行的语句。
语法
Execute(expression)
在VBScript中,可以通过两种方式解释a = b。可以将其视为赋值语句,其中x的值分配给y。也可以将其解释为测试a和b是否具有相同值的表达式。如果是,则结果为True;否则,结果为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>
在IE中执行脚本时,以.html扩展名保存文件,屏幕上显示以下结果。
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 [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
作者:terry,如若转载,请注明出处:https://www.web176.com/vbscript/1093.html