`
- 浏览:
86490 次
- 性别:
- 来自:
北京
-
一.
VBScript
语言概述
我们都希望制作出的网页既精致美观又生动活泼而且功能
强大
,
用
VBScript
语言可以实现这一愿望。
VBScript
是
Microsoft Visual Basic
的简化版本。
VBScript
是特意为在浏览器中进行工作而设计的。
编程方法和Visual Basic基本相同 。
VBScript
只有一种数据类型,即,
Variant
类型。
VBScript
不支持Visual
Basic中传统的I/O功能,即不能通过Open语句和函数在客户机上读写文件,这样防止了可能对客户机造成的危害;VBScript不能调用API函
数,这是因为API函数调用会危及客户机的安全,如病毒可以轻而易举地通过API函数调用来破坏客户机;Visual
Basic支持Screen、Printer、App、Debug、Err和Clipboard等系统对象,但VBScript只支持Err对象,该对象
用于为应用程序提供运行时错误处理。
二.
VBScript
语言特点
易学易用
VBScript既可编写服务器脚本,也可编写客户端脚本。
客户端编程语言的
优点
是
(1)浏览器完成了所有的工作,这可以减轻服务器的负担。
(2)客户端程序运行起来比服务器端程序快得多。
一般来说,可以解释VBScript脚本的浏览器只有Microsoft Internet Explorer。
三
.
VBScript
程序的编辑和调试
必须使用<SCRIPT>标签,才能使用脚本语言 ,
格式
如下 :
<SCRIPT>
VBScript代码
</SCRIPT>
例如,我们可以用一句VBScript语句将"你好,学习VBScript很有趣"写入HTML页面。
<SCRIPT LANGUAGE="VBScript">
<!--
Window.Document.Write("你好,学习VBScript很有趣!")
-->
</SCRIPT>
解释上例中的
文档对象的用法
:
在
文档对象模型(DOM)
中,Window
对象是最高层的对象,Document对象是Window对象的子对象,所以引用Document对象时应该使用Window.Document,而
Write()是Document对象的方法,所以引用Write()方法时,应该使用Window.Document.Write()。
又如:
<SCRIPT language=VBScript>
<!--
Window.alert("你好")
-->
</SCRIPT>
<SCRIPT>
标签的
LANGUAGE
属性
用以指定包含在<SCRIPT>标签中的脚本代码的语言类型 。
<SCRIPT LANGUAGE="VBScript">
<SCRIPT LANGUAGE=“JavaScript">
<SCRIPT LANGUAGE=“JScript">
<SCRIPT>
标签的
RUNAT
属性
RUNAT属性用以指定包含在<SCRIPT>标签中的脚本代码的运行于服务端还是客户端。
<SCRIPT LANGUAGE="VBScript" Runat=server>
VBScript代码
</SCRIPT>
注意:
文件要保存成.asp,如果在客户运行则Runat属性可以省略。
注释标签的运用
<SCRIPT
LANGUAGE="VBScript">
<!--
VBScript代码
-->
</SCRIPT>
对不支持VBScript的浏览器,
会将VBScript代码将作为页面的文本直接显示在页面上
,这将会极大地破坏整个页面的布局,所以我们需要运用注释标签来解决这个问题 。
四
.
用
VBScript
往网页上写内容。
以下示例
VBScript代码的功能是在页面上写入“这是一个VBScript的简单示例” 。
<HTML>
<HEAD>
<TITLE>一个 VBScript 示例</TITLE>
<SCRIPT
LANGUAGE="VBScript">
<!--
Window.Document.Write("这是一个VBScript的简单示例")
-->
</SCRIPT>
</HEAD>
<BODY></BODY>
</HTML>
按钮按下后能够出现警告框的示例
。
<HTML>
<HEAD>
<TITLE>一个 VBScript 示例</TITLE>
</HEAD>
<BODY>
<FORM>
<INPUT TYPE="button" VALUE="ALERT" OnClick="alerter()">
</FORM>
</BODY>
</HTML>
<SCRIPT LANGUAGE="VBScript">
<!--
sub alerter()
window.alert("这是一个VBScript的简单示例")
end sub
-->
</SCRIPT>
执行
五.VBScript
代码的
位置不同
执行的
顺序不同
下载时立即运行的,而且没有包含于过程之中VBScript代码嵌入到<HEAD>标签和</HEAD>标签之间,这段VBScript代码将在页面绘制之前执行。例如
有时候我们并不希望VBScript代码在页面绘制之前执行,而是希望能够在页面绘制中,在页面合适的位置进行处理。
下载时立即运行的,而且没有包含于过程之中VBScript代码嵌入到<HEAD>标签和</HEAD>标签之间,这段VBScript代码将在页面绘制之前执行。例如
有时候我们并不希望VBScript代码在页面绘制之前执行,而是希望能够在页面绘制中,在页面合适的位置进行处理。
例如
另外一种解决方式:先直接在页面中写上表格的标签,然后运用VBScript代码在表格内写字符串。
例如
。
调用时运行VBScript代码的位置
一般情况下,我们
最好
是将VBScript代码放在<HEAD>标签和</HEAD>标签之间,这
不是编写脚本的强制要求
,而是一种
良好的编写风格
。
例如
。
还有一种嵌入的方法,就是在
页面元素事件处理中
直接嵌入VBScript代码(一般为一行)。
<INPUT TYPE="button" VALUE="ALERT"
OnClick=“Window.alert(‘这是一个VBScript的简单示例’)”>
例如
。
六
.
客户端脚本代码
示例
用浏览器打开时,将显示一个文本框和一个按钮。在文本框中输入数字后,单击"提交"按钮,浏览器会查找并执行过程Button1_OnClick。执行时将调用表单的Submit方法将数据提交到服务器。若输入不正确,如不是数字或小于1或大于50,则会调用MsgBox语句产生消息框提示输入正确的数字。
七.VBScript
数据类型
VBScript 只有一种数据类型,称为
Variant
。
Variant可以进一步区分数值信息的特定含义。例如使用数值信息表示日期或时间。
1
.什么是常量
常数是具有一定含义的名称,用于代替数字或字符串,其值从不改变。VBScript定义了许多固有常数。
2
.声明常量
使用Const语句可以在VBScript中创建用户自定义常数。例如:
Const MyString = "这是一个字符串。"
Const MyAge = 49
请注意字符串文字包含在两个引号(“”)之间。日期文字和时间文字包含在两个井号(#)之间。例如:
Const CutoffDate = #6-1-03#
3
.
VBScript
变量
变量是计算机内存中已命名的内存位置,该位置可存储脚本运行时能更改的信息。
在VBscript脚本中,使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。
4
.声明变量
语句格式:DIM myvar1, myvar2, myvar3
在VBscript脚本中,使用一个变量之前不需要专门声明它。
通过直接在脚本中使用变量名的方式叫
隐式声明变量
。
隐式声明变量
不是一个好习惯,先声明变量再使用是编程的良好习惯。
VBScript中提供了
Option Explicit
语句来强制显式声明变量,这样如果你在编写长而复杂的程序时,如果你敲错了应该变量的名字,将会产生错误,可以帮助你调试脚本。
例如
。
5
.变量命名规则
变量命名必须遵循VBScript的标准命名规则。变量命名必须遵循:
(1)第一个字符必须是字母。
(2)不能包含嵌入的句点。
(3)长度不能超过255个字符。
(4)在被声明的作用域内必须唯一。
(5)不能使用VBScript中的保留字作为变量名。
在VBScript中给变量命名不区分大小写。给变量命名时,为便于记忆与使用最好能做到“顾名知义”。
6
.注释
VBScript
脚本
Rem comment
' comment
例如:
Dim MyStr1,MyStr2
MyStr1 = "Hello": Rem 语句和注释用冒号隔开。
MyStr2 = "Goodbye"' 这同样是注释不需要冒号。
Rem 在没有代码的行上加注释不必用冒号。
REM I am a VBScript comment.
' I am also a VBScript comment.
7
.
VBScript
脚本中的续行符
在VBScript脚本中当一行写得很长时,程序的可读性会变得很差,如果从语法上没法换行,而我们又想换行时可使用续行符,
续行符是空格紧跟一个下划线(“ _”)
。请注意:一定不要忘记前面的空格。
请注意:
一定不要忘记前面的空格。
八.VBScript
数据类型
1
.
VBScript
中的算术运算符
用于执行数学计算的运算符。
VBScript中提供了7个算术运算符,其中加(+)、减(-)、乘(*)、除(/)和取负(-)几个运算符的含义与数学中的基本相同。
\(整除操作符)
在VBScript中,整数除法
先对操作数进行四舍五入运算
使操作数变为整数,然后进行除法运算,整数除法运算后的结果是一个整数,1.5\2=1,而1.4\2=0。
mod(取模操作符)
将两个操作数相除,返回相除后的余数,例如表达式5 mod 3的运算结果为2。38.57 mod 14.21的运算(
先四舍五入再取余
)结果为11。
2
.连接运算符
(1)+(加操作符)
加操作符还可以对字符串类型的操作数进行运算,然后将两个字符串相连起来作为运算结果。例如,"How are "+"you! "的运算结果为"How are you! "。
(2)&(连接运算符 )
用于字符串的连接,即将两个字符串变量连接起来,生成一个新的字符串。+运算符也能进行字符串的连接,但只能将两个字符串连接。&运算符能强制性地将两个表达式(不论是什么类型)做字符串连接,用+运算符连接其它类型数据时会出现错误。
3
.比较操作符
比较操作符将操作数进行比较,然后返回一个逻辑值,表明这个比较操作的结果是否为真,比较操作符的操作数可以是数值类型或者字符串类型的数据。比较操作符共有6种。分别是。
=、> 、 < 、 >= 、 <= 、 <>
除了数值类型之外,字符串类型也可以进行比较,在比较字符串的过程中,VBScript把字符串中的每个字母转换成相应的ASCII码值,然后从第一个字符开始比较两个字符串中相应的字符,比较它们的ASCII码值。
4
.比较操作符示例
例如,"hello"="Hello"的返回结果为False,因为左操作数的第一个字符为h,右操作数的第一个字符为H,h的ASCII码值为104,H的ASCII码值为72,从第一个字符开始就不相等了,所以表达式的值为False。
而如果表达式为"came">="come",
首先,比较两个操作数的第一个字符,都是c,这样,不能直接判定两个操作数的大小,然后再比较两个操作数的第二个字符,左操作数为a,右操作数为o,a的
ASCII码值为97,o的ASCII码值为111,当然97<111,所以对于这个表达式来说,它的返回结果为False。
5
.逻辑运算符
and(与操作符)
result = expression1 And expression2
当且仅当两个表达式均为 True,则 result 为 True。如果任一表达式为 False,则 result 为 False。
or(或操作符)
result = expression1 Or expression2
如果两个表达式中至少有一个为True,则result为True。
not(非操作符)
非操作符只有一个操作数,当操作数为True
时,返回结果为False,当操作数为False时,返回结果为True。例如表达式not(2>3)逻辑运算结果为True,因为2>3的
结果为False,而表达式not(2<3)的逻辑运算结果为False,因为2<3的结果为True。
6
.运算符优先级
运算时,总是先执行括号中的运算符,然后再执行括号外的运算符。
首先计算算术运算符,然后计算比较运算符,最后计算逻辑运算符。所有比较运算符的优先级相同,即按照从左到右的顺序计算比较运算符。
多数情况下,只需为声明的变量赋一个值。只包含一个值的变量被称为标量变量。有时候,将多个相关值赋给一个变量更为方便,因此可以创建包含一系列值的变量(即具有相同名子不同下标值的一组变量),称为数组变量。
1
.声明固定数组
数组变量和标量变量是以相同的方式声明的,唯一的区别是声明数组变量时变量名后面带有括号()。与前面讨论的变量不同,数组在使用之前必须声明。
例如:Dim A(10)
注意:
VBScript
中数组的下标
从
0
开始
。上例声明了一个包含
11
个元素的一维数组。
2
.声明动态数组
目前讨论过的只限于固定大小的数组。一旦你声明了一个固定大小的数组,你将不能改变数组中的元素个数。要改变一个固定数组的大小,你必须删除它再重新创建。VBScript中另外有一种数组叫动态数组。动态数组是运行时可以改变大小的数组。
当声明一个动态数组时,你不需要指定数组的大小与维数,只需在数组名后加一对空括号。但在第一次给一个动态数组分配数值之前,必须用Redim语句指定它的大小与维数。
例如
十.流程控制语句
1
.条件控制语句
(1)只有一个条件语句形式:
举例
If 条件表达式 then
语句块
End If
(2)条件为 True 和 False 时分别运行的语句形式:
举例
If条件表达式then
语句块1
else
语句块2
End If
(3)If判断结构嵌套使用 :
举例
If条件表达式0 then
If条件表达式1 then
语句块1
else
语句块2
End If
else
语句块3
End If
(4)elseIf结构 :
举例
If条件表达式1 then
语句块1
elseIf条件表达式2 then
语句块2
elseIf条件表达式3 then
语句块3
……
elseIf条件表达式n then
语句块n
else
语句块n+1
End If
(5)使用 Select Case 进行判断 :
举例
Select Case 测试表达式
Case 表达式列表1
[语句块1]
[Case 表达式列表达2
[语句块2]]
……
[Case Else表达式列表n
[语句块n]]
End Select
2
.
循环控制语句
(1)Do...Loop 循环
例
1
可以使用 Do...Loop 语句多次(次数不定)运行语句块。当条件为 True 时或条件变为 True 之前,重复执行语句块。
Do...Loop 语句形式:
第一种语法形式是先判断循环条件
Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop
Do...Loop 循环
例
2
例
3
第二种语法形式是先执行一次循环,再判断循环条件
Do
[statements]
[Exit Do]
[statements]
Loop [{While | Until} condition]
(2)While...Wend循环
While...Wend 语句是当指定的条件为 True 时,执行一系列的语句。语法形式为:
While condition
[statements]
Wend
(3)For...Next循环
举例
For...Next语句是以指定次数重复执行一组语句。
语句一般形式是:
For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next
For...Next
循环嵌套
举例
可以将一个For...Next循环放置在另一个For...Next循环中,组成嵌套循环。每个循环中的counter要使用不同的变量名。
(4)For Each...Next循环
举例
For Each...Next 循环与 For...Next 循环类似。For Each...Next不是将语句运行指定的次数,而是对于数组中的每个元素或对象集合中的每一项重复一组语句。这在不知道集合中元素的数目时非常有用。
For Each...Next 语句的一般形式如下:
For Each element In group
[statements]
[Exit For]
[statements]
Next [element]
(5)On Error 语句
语法形式:On Error Resume Next
当一个错误发生时,这条语句就执行紧靠发生错误语句后面的语句,或者执行紧靠调用进程后面的语句。
Sub cmdSubmit_OnClick
On Error Resume Next
Myvar="aaa"+30
'显示引起错误的描述
If Err <> 0 Then
Msgbox "An error occurred. " & Err.Description
Err.Clear
End if
End Sub
十一.过程与函数据
1
.
Sub
过程
例1
例2
例3
声明Sub过程的名称、参数以及构成其主体的代码。
Sub name [(arglist)]
[statements]
[Exit Sub]
[statements]
End Sub
注意:
Sub过程
默认
为公用,即它们对于脚本中的所有其他过程都是
可见
的。Sub过程中
局部变量的值
在调用过程中不被保留。
注意:
不能在任何其他过程(例如,Function)中定义Sub过程。
Call
语句
将控制权传递给Sub或Function过程。其语句的一般形式如下:
[Call] name [argumentlist]
可选项关键字。如果指定此关键字,则必须用括号把
argumentlist
括起来。
例如
:
Call MyProc(0)
你可以调用同一个过程任意多次。
2
.
Function
过程
例1
例2
例3
例4
声明Function过程的名称、参数以及构成其主体的代码,其一般语句形式是:
Function name [( arglist)]
[statements]
[name = expression]
[Exit Function]
[statements]
[name = expression]
End Function
与Sub过程基本相同,与Sub过程的
不同之处
是:函数有返回值,过程则没有。要从函数返回一个值,只需在函数内将值赋给函数名。在函数的任意位置都可以出现任意个这样的赋值。
如果没有给name赋值
,则过程将返回一个默认值:数值函数返回0,字符串函数返回零长度字符串("")。
以下所讲的输入、输出函数只能在客户端使用,不能在服务端使用。
(1)InputBox函数
语法形式是:
InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])
在对话框中显示提示,等待用户输入文本或单击按钮,并返回文本框内容。
例如
Dim Input
Input = InputBox("输入姓名")
MsgBox ("输入的姓名是:" & Input)
(2)MsgBox函数
例1
在对话框中显示消息,等待用户单击按钮,并返回一个值指示用户单击的按钮。
MsgBox(prompt[,buttons][,title][,helpfile,context])
Dim MyVar
MyVar = MsgBox ("Hello World!", 65, "MsgBox Example")
'依据点击的按钮情况返回 1 或 2。
在VBscript中,系统提供了大量的字符串函数来处理有关字符串的事情。
(1)Left函数
语法形式:Left(string,length)
返回包含字符串中从左边算起指定数量的字符。
(2)Right函数
语法形式:Right(string,length)
返回包含从字符串右边取出的指定数量的字符。
(3)Mid函数
语法形式:Mid(string,start[,length])
返回包含字符串中指定数量的字符。
(4)Space函数
语法形式:Space(number)
返回特定数目的空格。
(5)Ltrim、Rtrim、Trim函数
语法形式:LTrim(string)、RTrim(string)、Trim(string)
返回包含指定字符串的拷贝,没有前导空白(LTrim)、尾随空白(RTrim)或前导和尾随空白(Trim)。
(6)InStr函数
语法形式:
InStr([start,]string1,string2[,compare])
返回一指定字符串在另一字符串中最先出现的位置。
(7) LCase函数
语法形式:LCase(string)
返回转成小写的String。
(8)UCase函数
语法形式:UCase(string)
返回转成大写的String。
(9)Len函数
语法形式:Len(string|varname)
返回包含字符串内字符的数目,或是存储一变量所需的字节数。
(10)Chr函数
语法形式:Chr(charcode)
返回ASCII码表与charcode对应的字符。
(11)Asc函数
语法形式:Asc(string)
返回一个代表字符串中首字母的字符ASCII码。
(12)Split函数
语法形式:
Split(expression[,delimiter[,count[,start]]])
返回下标从0开始的一维数组,其中包含指定数目的子字符串。
(13)Replace函数
返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。
语法形式:
Replace(expression,find,replacewith[,compare[,count[,start]]])
(14)StrComp函数
语法形式:
StrComp(string1, string2[, compare])
返回一个表明字符串比较结果的值。
(15)String函数
语法形式:
String(number,character)
返回Variant(String),其中包含指定长度重复字符的字符串。
(16)Filter函数
Filter函数功能是过滤一个字符串数组,返回符合条件的子集合数组。
语法形式:
Filter(InputStrings,Value[,Include[,Compare]])
(17)StrReverse函数
语法形式:StrReverse(string1)
返回一个字符串,其中一个指定子字符串的字符顺序是反向的。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
VBScript 语言概述 VBScript 是一种 Windows 脚本语言, 全称为 Microsoft Visual Basic Script Edition,是 Visual Basic 的一个抽象子集。VBScript 不需要编译成二进制文件,直接由 Windows 系统执行。VBScript ...
VBScript脚本语言概述 基本数据类型及输入输出 表达式和运算符 VBScript中的控制语句 VBScript函数及子过程 VBScript的对象和事件
VBScript 脚本语言概述 VBScript 脚本语言是一种基于 Visual Basic 语言的子集,它可以自由地嵌入到任何支持该语言的应用程序中。VBScript 脚本语言可以实现动画效果、对用户在客户端输入数据进行语法检查、通过...
### VBScript概述与原理 #### 一、VBScript概述 **VBScript**,全称**Microsoft Visual Basic Script Edition**,是由微软公司推出的一种轻量级的解释型脚本语言。它作为**Visual Basic**(简称VB)语言的一个简化...
4.1 脚本语言概述 脚本语言的主要功能是增强网页的功能性和交互性。VBScript和JScript是Web开发中常用的两种脚本语言。要运行VBScript,需要在服务器上安装相应的脚本引擎,例如Internet Explorer和IIS(Internet ...
### VBScript语言简介 #### 一、VBScript概述 **VBScript**(Visual Basic Scripting Edition)是由微软开发的一种轻量级脚本语言,它基于Visual Basic编程语言的基础语法,并进行了简化,使得开发者能够轻松地在...
### VBScript脚本语言知识点详解 #### 一、概述 **VBScript(Visual Basic Scripting Edition)**是一种轻量级的脚本语言,由微软开发并首次发布于1996年。它基于Visual Basic编程语言,但设计用于编写简单的自动...
在探讨如何在Web网页中运用VBScript和JScript之前,我们首先需要了解这两种脚本语言的基本特性和主要区别。这有助于我们在具体场景中做出合适的选择。 **VBScript与JScript的主要区别:** - **语言结构:** - **...
压缩包内的文件名可能是VBScript语言参考文档的章节索引或者内容页。例如: - `VBSTOC.HTM` 可能是目录或内容概述页面。 - `238.HTM`, `248.HTM`, `247.HTM`, `0.HTM`, `3.HTM`, `228.HTM`, `164.HTM`, `93.HTM`,...
在【3.1 脚本语言概述】中,我们了解到脚本语言是一种介于HTML和像Visual Basic、C这样的高级编程语言之间的语言。在ASP中,VBScript和JavaScript是最常见的脚本语言,而默认语言是VBScript。ASP的运行机制是将脚本...
【ASP脚本语言概述】 ASP(Active Server Pages)是由微软公司推出的一种服务器端脚本环境,主要用于构建动态交互式网页。它允许开发者结合HTML、VBScript或JScript等脚本语言,以及各种服务器组件,来创建能够处理...
### 4.1 脚本语言概述 脚本语言在Web开发中扮演着重要角色,它们简化了网页与用户交互的过程。与传统的编程语言相比,脚本语言更加轻量级,通常不需要编译即可执行。VBScript是专为ASP设计的,它允许开发者在HTML...
VBScript(Visual Basic Scripting Edition)是一种轻量级的脚本语言,主要用于Windows环境下的自动化任务处理、网页交互等场景。它基于Microsoft的Visual Basic编程语言,但进行了简化,使得非专业开发者也能轻松...
通过以上概述,我们可以看到VBScript作为一种脚本语言,在Web开发和其他自动化任务中具有重要的地位。无论是初学者还是有经验的开发者,都可以利用VBScript来实现复杂的功能,并通过良好的编程习惯提高代码的质量...
这与Groovy、Python和VBScript等其他脚本语言有相似之处。JavaScript的主要用途包括前端页面交互、后端编程(通过Node.js实现)以及嵌入式系统(如Ruff)的应用。 当前,JavaScript的标准版本主要包括EcmaScript 5...
1. **脚本语言选择**:Adobe Illustrator CC 支持多种脚本语言,其中VBScript是一种可选的脚本语言。 2. **自动化任务实现**:通过编写VBScript脚本,用户可以自动化完成诸如批量处理图形文件、自动生成设计元素等...