第三章 ASP脚本语言 -VBScript
内容简介:
? 本章讲述ASP脚本语言知识
? 涉及数据类型、常量、变量、数组、函数概念,有关数据类型及
其取值范围、常量与变量声明、数组定义及应用、函数定义及应
用等 。
学习目的与要求:
1,掌握常量, 变量, 条件语句, 循环语句;
2,认识常见语句出错信息;
3,掌握数组, 函数的定义及应用;
4,了解注释语句;
5,了解容错语句 。
重点:
难点:
常量、变量,条件语句、循环语句,数组、函数
数组、函数
3.1 脚本语言概述
? 所谓脚本语言,就是一种介于 HTML语言和 Visual Basic,Java等高级
语言之间的一种语言。
? 在 ASP程序中常用的脚本语言有 VBScript和 JavaScript等语言,系统的
默认语言为 VBScript语言。
? ASP可以通俗的说就是把脚本语言放在 <%和 %>之间,一般在服务器
端运行。
3.2 VBScript代码的基本格式
VBScript语言在服务器端执行有两种方法:
方法一,<% VBScript代码 %>
方法二,<Script Languge=,VBScript” Runat=,Server” >
VBScript代码
</Script>
有时候也需要在客户端运行,语法如下:
<Script Language=” VBScript” >
VBScript 代码
</Script>
3.4 VBScript常量
常量就是拥有固定的数值,它可以代表字符串, 数字和日期等常数,常量
一经声明,其值将不能再更改.
声明常量可以使用 Const语句,示例:
<%
Const PI=3.1415926
Const name_wyl=,王益亮”
%>
常量的命名规则和变量一样,不能使用关键字.
常量的作用域由声明它的位置决定.
常量示例
源文件
显示结果
3.5 VBScript变量
变量就是存储在内存中的用来包含数据的地址的名字。
声明变量可以使用 Dim语句,示例:
<%
dim name,age,sex
%>
如果希望强行要求所有的变量都预先声明,则在ASP文件中所有的
ASP语句之前添加 Option Explicit语句。
变量的命名规则和作用域同常量。
变量示例
源文件
显示结果
3.6 VBScript数组
? 什么是数组?
? 数组的命名、定义、赋值和引用和变量基本上是一样的,所不同
的是要定义数组中的项目数。
数组示例
源文件
显示结果
二维数组示例
源文件
显示结果
A(0,0) A(0,1) A(0,2)
A(1,0) A(1,1) A(1,2)
A(2,0) A(2,1) A(2,2)
3.7 VBScript运算符
? VBScript继承了 Visual Basic的所有类别的运算符,包括算
术运算符、比较运算符、逻辑运算符和连接运算符。
? 要注意运算顺序,先计算算术运算符,其次连接运算符,
再次比较运算符,最后计算逻辑运算符。
3.8 VBScript函数
3.8.1 转换函数
使用转换函数可以强制转换数据的子类型。
3.8.2 字符串函数
可以使用字符串函数对字符串进行截头去尾和大小写转换等操作。
3.8.3 日期和时间函数
可以使用日期和时间函数来得到各种格式的日期和时间。如,Now()取
得系统当前的日期和时间。
Date()取得系统当前的日期。
3.8.4 数学函数
使用数学函数来完成数学运算。如,abs(x)求 x的绝对值,sqr(x)求 x
的平方根。
3.8.5 检验函数
用来检验某变量是否是某种类型。如,isnumeric(x)检查变量 x是否
为数值类型。
3.9 VBScript过程
在 VBScript中,过程有两种,Sub子程序和 Function函数,两者的区别
在于,Sub子程序只执行程序而不返回值,而 Function函数可以将执行代码
后的结果返回给请求程序.
3.9.1 Sub子程序
1、声明 Sub子程序的语法:
Sub 子程序名(参数1,参数2,...)
...
End

Sub 子程序名()
...
End
S ub过程的调用方式:
2、调用子程序
Call 子程序名(参数 1,参数 2,? )
子程序示例
源文件
显示结果
3.9.2 Function函数
1,Function函数的语法:
Function 函数名(参数 1,参数 2,? )
语句 ??
End Function
2、调用函数
变量 = Function 函数名(参数 1,参数 2,? )
函数可以向变量一样引用和参与运算
函数示例
源文件
显示结果
3.9.3 子程序和函数的位置
子程序和函数可以放在 ASP文件的任意位置上,也可以放在另外一个
ASP文件中。
关于函数
? 形式参数
Function lifanghe(a,b)
? 和 实际参数
lifanghe(2,3)
lifanghe(a,b)
3.10.1 If?Then?Else 语句
语法形式如下,
1,If?Then?End if
If 条件 Then
执行语句
End If
3.10 使用条件语句
使用条件语句对用户输入的信息进行判断。
2,If… Then… Else… End if (单条件 )
If 条件 Then
执行语句 1
Else
执行语句 2
End If
<%
dim grade
grade=50
if grade>60 then
response.Write("合格 ")
else
response.Write("不合格 ")
end if
%>
程序示例
3,If… Then… Else… End if (多条件 )
If 条件 1 Then
执行语句 1
ElseIf 条件 2 Then
执行语句 2

End If
<%
grade=50
if grade>=90 then
response.Write("优秀 ")
elseif grade>=70 and grade<90 then
response.Write("良 ")
elseif grade>=60 and grade<70 then
response.Write("及格 ")
else
response.Write("不及格 ")
end if
%>
程序示例
源文件
运行结果
返 回
源文件
运行结果
返 回
3.10.2 Select Case 语句
对多个条件进行判定的另一种形式
Select Case 变量或表达式
Case 结果 1
执行语句 1
Case 结果 2
执行语句 2
?
Case 结果 n
执行语句 n
Case Else
执行语句 n+1
End Select
源 文 件
运行结果
3.11 使用循环语句 — 对于重复的操作,使用循环语句进行描述。
常用的循环语句有,For?Next,Do?Loop 等
3.11.1 For?Next 循环
语法,
For counter=start To end [Step number]
执行语句
Next
各参数说明如下,
counter:循环的计数器变量
start:计数器的初始值
end:计数器的终值
Step number:计数器的步长,缺省时为 1
<%
dim tree,i
tree=100
for i=1 to 100
tree=tree+20
next
response.Write("小树 100年后的高度是," & tree & "厘米 ")
%>
For?Next 循环程序示例
程序示例
3.11.2 Do… Loop循环
1,语法一,
Do While 条件
执行语句
Loop

Do
执行语句
Loop While 条件
入口型循环结构
出口型循环结构
2,语法二
Do Until 条件
执行语句
Loop

Do
执行语句
Loop Until 条件
入口型循环结构
出口型循环结构
3.11.3 While ?Wend 循环
语法,
While 条件
执行语句
Wend
Dim I
I=1
While I<10
I=I+1
Wend
代码示例
问题:当 I=? 的时候,结束循环
3.11.4 For Each?In 循环
功能,从一个集合中取出每一个元素
语法,
For Each 元素 In 集合
执行语句
Next
3.11.5 循环嵌套
嵌套,就是在一个大循环内可以包含一个小循环,
注意,嵌套不可以交叉
循环嵌套 √ 循环交叉×
3.11.6 强行退出循环
在 For?Next 循环中,强行退出循环的指令是,Exit For
<%
dim tree,i
tree=100
for i=1 to 100
tree=tree+20
if tree>=1500 then
exit for
end if
next
response.Write("小树 " & i & "年后的高度是," & tree & "厘米 ")
%>
程序示例
在 Do?Loop 循环中,强行退出循环的指令是,Exit Do
3.11.6 强行退出循环
<%
dim tree,i
tree=100
do while I<=100
tree=tree+20
i=i+1
if tree>=1500 then
exit do
end if
loop
response.Write("小树 "&i&"年后的高度是," & tree & "厘米 ")
%>
程序示例
本讲练习:
1,S=1^2+3^2+5^2+??+99^2, 请利用两种循环语句
编写程序,计算 S的值。(注意步长)
2,有 100个和尚持 100个馒头,大和尚 1人吃 4个,小和尚 4人吃 1个,
问有多少个大和尚和多少个小和尚?
(提示:使用循环嵌套和判断语句)
3.13 容错语句
一般情况下,当程序发生错误时,程序会终止执行,并在页面上显示错误
信息,但有时不希望程序终止,也不希望将错误暴露在访问者面前,就要用到
容错语句,On Error Resume Next。
这条语句表示,如果碰到错误,就跳过去继续执行下一句。
需要注意的是,调试程序时如果加了该语句,就不会发现错误了。