Web应用开发技术 (2).ppt
第3章 ASP开发入门,本章目标,本章结束时,学员能够:掌握ASP基本语法掌握ASP常用内置函数,3.1 数据类型,ASP只支持一种数据类型:variant。variant数据类型能力是根据它存贮的是什么信息来改变的。数据子类型有很多种,都是ASP支持的数据类型,虽然在编写ASP程序的时候不需要对它进行明确的说明,但是为了真正理解数据在ASP程序中如何处理,还是希望对数据子类型进行了解,具体如下表:,3.1 数据类型(续),3.2 常量和变量,常量定义变量定义变量的作用域,3.2.1 常量的定义,常量是具有一定含义的名称,用于代替数字或字符串,其值从不改变。常量还提供了一种“全局”改变的方法。,3.2.2 变量的定义,变量引用计算机内存地址,该地址可以存储ASP运行时可更改的程序信息。使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。在ASP中,声明变量有两种方式:显式的和隐式的。,3.2.2 变量的定义(续),3.2.3 变量的作用域,ASP的变量可存在两个作用域上:“Script水平”和“Procedure水平”。其中,Script-level代码在所有的Function或Sub模块之外。Procedure-level代码在一个Function或Sub之内。Procedure-level代码是Script-level代码的子设置。因此,任何在函数或子程序中进行的变量说明,可在独立的源程序或子程序中被引用。,3.3 数组,数组与一般变量的区别:一般的变量只保存一个值,数组可以存储同种类型的多个值。在一个数组中,每一个单元有一个编号,第一个单元的编号为0。要引用 数组中的一个特定的单元只要使用数组名,接着在括号中写一个数字即可。,3.3 数组(续),静态数组和动态数组数组可以有两种形式:静态或动态。一个静态数组在被声明后设置了索引数。动态数组允许索引数在运行时变化,当开始说明变量时,使用空括弧()。管理动态数组时,就需使用ReDim命令。,3.4 运算符,算术运算符关系运算符逻辑运算符连接运算符运算符的优先级,3.4.1 算术运算符,3.4.2 关系运算符(续),3.4.3 逻辑运算符,逻辑与关系真值表,3.4.3 逻辑运算符(续),逻辑或关系真值表,3.4.3 逻辑运算符(续),逻辑非关系真值表,3.4.3 逻辑运算符(续),逻辑异或关系真值表,3.4.3 逻辑运算符(续),3.4.4 连接运算符,运算符“&”是真正的字符串连接运算符。加号“+”也可以用来连接字符串。但我们并不建议用该运算符进行字符串相加。因为当“+”运算符用于不同子类型的表达式时,会引起歧义。例如:“123”456 的结果不会是“123456”而是579,因为加号首先会被认为是数学运算符加号,如果表达式中有数字,那么系统会把其他的都转化成数字类型,进行加法运算。,3.4.5 运算符的优先级,运算符优先级用来描述一个顺序,即不同的运算符在关键字、运算符和变量的组合中的评估值。当表达式包含多个运算符时,将按预定顺序计算每一部分,这个顺序被称为运算符优先级。可以使用括号超过这种优先级顺序,强制首先计算表达式的某些部分。但是,在括号中仍遵循标准运算符优先级。,3.4.5 运算符的优先级(续),高,高,低,低,3.5 控制结构,控制结构主要有三大类:顺序语句、分支语句和循环语句。顺序语句是按照程序语句的编写的先后顺序执行。分支语句使程序根据变量和表达式的不同值沿这条路径或者那条路径执行。循环语句使程序在满足某个条件之前重复执行一个动作。,3.5.1 分支语句,3.5.1 分支语句(续),3.5.1 分支语句(续),3.5.2 循环语句,3.5.2 循环语句(续),3.5.2 循环语句(续),3.6 中断,在某些情况下,需要停止执行一个程序流程中的当前正在执行的逻辑。Exit语句允许改变DoLoop,ForNext,函数或请求源程序区的子程序的程序流程。,3.7 函数和过程的概念,函数在ASP中,把带有返回值的这样的一段代码叫做函数。例如通过编写一段代码计算出一个自然数是否是质数,返回给调用程序,由于调用程序需要知道那个自然数是否是质数,所以必须要返回一个值。过程把只是执行一段代码而不需要返回值的叫做过程。例如通过编写一段代码在数据库中删除一些符合条件的记录,调用的程序并不需要是否删除完毕了就可以继续以后的工作,所以这段代码不需要告诉调用程序最后的结果。,3.7 函数和过程的概念(续),函数的定义方法:,3.7 函数和过程的概念(续),函数的调用方法:,3.7 函数和过程的概念(续),过程的定义方法:,3.7 函数和过程的概念(续),过程的调用方法:,3.8 ASP中的内嵌函数,在ASP中提供了一些系统自带的内嵌函数,即不用编写任何代码就可以直接使用这些函数,它们大概分为以下几类:取整函数数制转换函数字符串函数日期和时间函数随机函数类型转换函数,3.8.1 取整函数,取整函数Int和Fix函数都删除 number 参数的小数部分并返回以整数表示的结果,3.8.2 数制转换函数,3.8.3 字符串函数,删除空白字符函数ltrim、rtrim 和 trim:返回不带前导空格(ltrim)、后续空格(rtrim)或前导与后续空格(trim)的字符串副本。,3.8.3 字符串函数(续),字符串截取函数,3.8.3 字符串函数(续),字符串长度测试函数,3.8.3 字符串函数(续),string 函数和空格函数,3.8.3 字符串函数(续),字符串匹配函数instr 函数返回某字符串在另一字符串中第一次出现的位置。,3.8.3 字符串函数(续),字母大小写转换ucase 函数返回字符串的大写形式。lcase 函数返回字符串的小写形式。,3.8.3 字符串函数(续),字符串比较函数strcomp 函数返回指示字符串比较结果的值。,3.8.4 日期和时间函数,3.8.4 日期和时间函数(续),3.8.4 日期和时间函数(续),3.8.5 随机函数,rnd 函数返回一个随机数,3.8.5 随机函数(续),因每一次连续调用 rnd 函数时都用序列中的前一个数作为下一个数的种子,所以对于任何最初给定的种子都会生成相同的数列。在调用 rnd 之前,先使用无参数的 randomize 语句初始化随机数生成器,该生成器具有基于系统计时器的种子。,3.8.6 类型转换函数,ASP提供9个转换函数,以帮助减少运行时间错误或基于逻辑的错误。,本章总结,掌握ASP基本语法掌握ASP常用内置函数,