ASP VBScript 基础知识
脚本(Script)语言概述 HTML制作网页功能有限,不具有流程控制、事件驱动等功能,并且不能制作动态效果,即不能用于编程。 脚本语言,是一种介于HTML语言和VB、Java等高级语言之间的一种语言。 比高级语言简单易学,但功能不强,可用于编写简单的程序。 DW行为面板制作的行为即为脚本。
VBScript源于VB。 可以在客户端执行,由浏览器解析,为普通脚本。 可以在服务器端执行,用<%...%>包含,即为ASP程序。 VBScript是ASP的默认脚本语言。
VBScript代码的格式 在客户端执行,为普通脚本。 例如 <Script Language="VBScript"> <!-- Function CanDeliver(Dt) CanDeliver = (CDate(Dt) - Now()) > 2 End Function --> </Script>
代码的开始和结束部分都有 <Script> 标记。 <Script> 标记的Language属性用于指定所使用的 Script 语言。 注释标记(<!-- … -->),能够避免不能识别 <Script> 标记的浏览器将代码显示在页面中。 当然,一般没有必要采用这种方法,因为常见的浏览器一般配有VBScript解释器。 脚本可以出现在 HTML 页面的任何地方,Head 或 Body 部分。然而最好将所有的通用 Script 代码放在 Head 部分,以使所有 Script 代码集中放置,这样可以确保在 Body部分调用之前浏览器已读取了所有 Script 代码并解码。
VBScript数据类型 在VBScript中只支持一种数据类型,即Variant(变型 )。
常用的数据子类型 Empty:未初始化的。对于数值变量,值为 0;对于字符串变量,值为零长度字符串 ("") Null:不包含任何有效数据 Boolean:其值是True 或 False String:变长字符串 Object:包含对象 Error:包含错误号
常见的字类型有字符串、数字、日期、逻辑类型。 Variable=2001 ‘VBScript会将它当成整数对待 Variable=“2001” ‘VBScript会将它当成字符串对待 Variable=“北京大学”‘VBScript会将它当成字符串对待 Variable=“2008-8-8” ‘VBScript会将它当日期对待
VBScript常量 常量是具有一定的名称,用于代替数字或字符串。 常量一经声明,其值将不能改变。 声明使用Const语句 例如,如果在脚本中需要使用到π,我们往往会将其定义为一个常量,赋值为3.14,如下所示:Const PI = 3.14
字符串文字包括在两个引号(“”)之间。例如: Const companyname=“江西信息学院" 比如“100”看起来是数字,但实际上是字符串常量。 定义日期时间型常量时,应当将其包含在两个#之间,例如: Const ToDate = #6-1-2004#
VBScript变量 在程序运行过程中,其值可以改变。 变量与常量非常类似,只不过常量一经声明其值就不能改变了,而变量在声明后仍可随时对其值进行修改。
变量命名规则 变量名称的第一个字符必须是英文字母 变量名一般由英文字母、阿拉伯数字和字符“_”构成。 不能有标点符号。 不能使用VBScript 的关键字作为变量名,例如const、dim、sub等。 变量名称的长度不能超过255个字符。
声明变量 声明(定义)变量使用Dim语句。 显式声明变量。例如: Dim name 声明多个变量时,使用逗号分隔变量。例如: Dim name, class, age, email 隐式声明变量。直接在 Script 中使用变量名这一简单方式。但代码复杂时,易出错。使用 Option Explicit 语句强制所有变量必须显示声明,并把Option Explicit (选择;明确的,显式)语句作为 Script 的第一条语句。 <% Option Explicit %> 添加了Option Explicit语句后,如果使用变量前没有预先声明,调试程序时就会报错。
给变量赋值 通过赋值表达式给变量赋值,变量在表达式左边,要赋的值在表达式右边。 例如: dim intA,intB,intC intA=2 intC=intA+intB
变量的作用范围和有效期 作用范围也称作用域,表示在什么空间范围内可以使用该变量。在VBScript中,变量的作用范围是由变量的声明位置决定的。 过程级变量:在一个过程内声明的变量,则只有在这个过程中的代码才可以使用该变量。 脚本级变量:在所有过程之外声明的变量,则该文件中的所有代码均可以使用该变量。 有效期也称存活期,表示变量在什么时间范围内可以使用该变量。 过程级变量的有效期就是该过程的运行时间,过程结束后,变量就随即消失了;脚本级变量的有效期就是从它被声明那一刻到整个代码的结束。
VBScript数组 方便对成批数据进行处理。 数组命名、声明、赋值和引用与变量相同 <% dim intA(2) intA(0)=1 intSum= intA(0)+ intA(1)+ intA(2) %> 上面数组元素是3个,从0开始
多维数组 多维数组的引用和赋值和一维数组是一样的,只不过括号中的第1个数字表示所在行,第2个数字表示所在列 。 举例:声明一个3行4列的二维数组 Dim intA(2,3) ‘声明一个3行4列的二维数组 下面是该二维数组的结构示意图:
变长数组 变长数组又称为动态数组,意思是声明数组时可以不确定数组元素个数,以后根据需要再确定。
运算符 算术运算符、连接运算符、比较运算符和逻辑运算符 要注意运算顺序,先计算算术运算符,其次连接运算符,再次比较运算符,最后计算逻辑运算符。 VBScript主要包含三种不同的表达式:数学表达式(如3+5*7)、字符串表达式(如"ab" & "cd")和条件表达式(如5>3)
算术运算符和数学表达式 算术运算符和数学表达式主要用于常规的数学运算。 如:intResult=intA^2+intB^2 '求两个变量的平方和 算术运算符在实际运算中是有优先顺序的 ,依次为^求幂 、-(求负)、*乘和/除、\整除、+和-。 可以使用括号任意改变运算顺序。
连接运算符和字符串表达式 连接运算符和字符串表达式主要用于将若干个字符串连接成一个长的字符串 。 &运算符表示强制连接,不管两边的操作数是字符串、数值、日期还是布尔值,它都会把它们自动转化为字符串然后连接到一起 如:strResult="ab" & "cd“ '结果为"abcd“ 。
比较运算符和条件表达式 常用的比较运算符包括=、<>、>、<、>=和<=,这些运算符执行后的结果为True(真)或False(假) 如:blnResult=5>3 '对两个数字进行比较,结果为True blnResult=#2008-1-1#<#2008-8-8# '对两个日期进行比较,结果为True
逻辑运算符 逻辑运算符是对两个布尔值(True或False)或两个比较表达式进行一系列的逻辑运算,然后再返回一个布尔值结果。 常用的逻辑运算符有And(逻辑与)、Or(逻辑或)和Not(逻辑非),运算规则如下: And表示并且,只有两个操作数都是True的时候,结果才为True,否则为False; Or表示或者,只要两个操作数中有一个是True,结果就为True,否则为False; Not表示求反,只要一个操作数,当操作数是True的时候,结果为False,当操作数为False时,结果为True。
混合表达式中的优先级 所谓混合表达式,指的是一个表达式中包含了多类运算符,此时运算顺序稍微有些复杂,需要先计算算术运算符,其次连接运算符,再次比较运算符,最后计算逻辑运算符 。 不过,建议大家没有必要去记这些顺序,在编程时可以充分利用括号“()”来改变运算顺序,最后达到自己的要求 。