第三章 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。
这条语句表示,如果碰到错误,就跳过去继续执行下一句。
需要注意的是,调试程序时如果加了该语句,就不会发现错误了。
内容简介:
? 本章讲述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。
这条语句表示,如果碰到错误,就跳过去继续执行下一句。
需要注意的是,调试程序时如果加了该语句,就不会发现错误了。