VBScript脚本语言与AS.ppt_第1页
VBScript脚本语言与AS.ppt_第2页
VBScript脚本语言与AS.ppt_第3页
VBScript脚本语言与AS.ppt_第4页
VBScript脚本语言与AS.ppt_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章 VBScript脚本语 言与ASP标记 n本章要点: ASP标记 VBScript常用函数 nVBScript(Microsoft Visual Basic Scripting Edition) 脚本语言是程序开发语言 Visual Basic 的一个子集 ,它将灵活的Script(脚本)应用于更广泛的领域 ,包括Microsoft Internet Explorer 中的Web客户端 脚本和 Microsoft Internet Information Server 中的 Web服务器端脚本,本章主要介绍服务器端脚本 编程方法。 nIIS根据ASP标记来判断VBScript脚本是服务器端脚 本的还是客户端脚本。为便于演示服务器端 VBScript脚本的运行结果,本章将先讲述ASP标记 的有关概念。可用来创建ASP程序的脚本语言很 多,例如JScript,PerlScript等脚本语言。本书假定 读者只使用VBScirpt脚本语言,只对这一种脚本语 言的有关概念进行讲解。 n一个ASP程序可由服务器端脚本与HTML脚 本共同构成,所有包含在脚本定界符之间的VBScriirpt脚本语言皆被视为服务 器端脚本,在服务器端运行,生成标准 HTML脚本输出到客户端,因此在客户端只 能看到纯粹的HTML脚本文件,看不到ASP 脚本源程序。采用这样的实现方式好处有 两种,一是保证了源代码不至于被泄密; 二是保证了对所有客户端浏览器的兼容。 3.1 ASP标记 nASP标记的用法很简单,将正确的VBScript脚本代 码放入其中即可。定界符不能嵌套使用,且只能成 对出现。能与HTML脚本混合使用,例如,本书第 一章中惟一的实例程序,可扩充为如下形式: n n nASP标记与HTML脚本混合使用实例 n n n n n n还有另外一种办法指定ASP脚本,其格式如 下: n nResponse.Write now() n n采用这种形式标记的ASP程序可混合使用多 种脚本语言,但包含在标签内的内 容会在页面其他内容执行前被优先执行, 这样往往会得到意想不到的效果甚至出错 。因此并不提倡使用这种方式,此处提及 只是方便读者碰到这种形式的代码时能有 所了解。 n3.1.1 指定使用的脚本语言 n在使用标记时,默认使用的脚本语言为 VBScript,也可在ASP程序一开始时加入如下程序 段指定: n n若想使用其他脚本语言,例如JScript脚本语言时, 形式如下: n n如果想更换ASP程序默认使用的脚本语言,可以 通过IIS管理器进行修改,在第一章提到过的IIS配 置过程中,在主目录属性页应用程序设置栏有一 个【配置】按钮,单击后在弹出窗口中翻到第二 页【应用程序选项】,更改对应设置即可。 n3.1.2 ASP脚本的注释 nASP脚本的注释很简单,以单引号起的一行即被视为注释 ,注释可以独立成一行,也可以在一代码行的末尾。如下 列代码所示: n n nASP注释的使用 n n n n n 3.2 VBScript脚本语言 n3.2.1 VBScript数据类型 nVBScript 只有一种数据类型Variant。Variant是一种特 殊的数据类型,根据使用的方式,它可以包含不同类 别的信息。因为Variant是VBScript中惟一的数据类型 ,所以它也是 VBScript 中所有函数的返回值的数据类 型。 n最简单的Variant可以包含数字或字符串信息。Variant 用于数字上下文中时作为数字处理,用于字符串上下 文中时作为字符串处理。这就是说,如果使用看起来 像是数字的数据,则VBScript会假定其为数字并以适 用于数字的方式处理。与此类似,如果使用的数据只 可能是字符串,则VBScript将按字符串处理。当然, 也可以将数字包含在引号“ “中使其成为字符串。下面 列举一个简单的例子,以便读者对其有更具体的认识 。 n程序清单 03_01.asp n n n字符串应用实例 n n n“ nResponse.Write CStr(Num2) 将数字变量显示转化为字符串 然后输出 n% n n n从运行结果中可以得知,Str2&Num1执行的是字 符串连接运算,这时Num1隐式地转换为字符串, Num2+Str1执行的是加法运算,这时Str1隐式地转 换为数字。 n除简单数字或字符串以外,Variant可以进一步区 分数值信息的特定含义。例如使用数值信息表示 日期或时间。此类数据在与其他日期或时间数据 一起使用时,结果也总是表示为日期或时间。当 然,从 Boolean值到浮点数,数值信息是多种多样 的。Variant包含的数值信息类型称为子类型。一 般情况下,可将所需的数据放进 Variant 中,而 Variant也会按照最适用于其包含的数据的方式进 行操作。 Variant包含的数据子类型 子类型描述 Empty 未初始化的Variant。对于数值变 量,值为 0;对于 字符串变量,值为 零长度字符串 (“) Null 不包含任何有效数据的Variant Boolean 包含True或False Byte 包含0到255之间的整数 Integer 包含-32,768到32,767之间的整数 Currency -922,337,203,685,477.5808到922,337,203,685,477.5807 Long 包含-2,147,483,648到2,147,483,647之间的整数 Single 包含单精度浮点数,负数范围从-3.40282338到- 1.401298-45,正数范围从 1.401298-45 到3.40282338 Variant包含的数据子类型 子类型描述 Date (Time) 包含表示日期的数字,日期范围从公元100年1月 1日到公元 9999年12月31日 String 包含变长字符串,最大长度可为20亿个字符 Object 包含对象 Error 包含错误号 n3.2.2 VBScript变量 n(1) 声明变量 n声明变量的常用方式是使用dim语句、public语句 和private语句在脚本中显式声明。例如: n n声明多个变量时,中间使用逗号隔开,如: n n另一种方式是在VBScript中直接使用变量,即隐式 声明,但这样做一个很大的弊端是拼写错误难以 查出,因此,可以禁止使用隐式声明,要求所有 变量在使用前必须声明,这样,因拼写错误的“新 单词”就会被认为非法变量。要求变量在使用前声 明的语句为: n n通常将其作为脚本语句的第一行。 n(2) 变量命名规则 n变量命名必须遵循VBScript的标准命名规则 ,必须遵循: n(1)第一个字符必须是字母。 n(2)不能包含嵌入的句点。 n(3)长度不能超过255个字符。 n(4)在被声明的作用域内必须惟一。 n合法的变量名例如Str1、MyVar1、j、k,不 合法的变量名例如1a、_abc、a.b等。 n(3) 变量的作用域与存活期 n变量的作用域由声明它的位置决定。如果在过程中声明变 量,则只有该过程中的代码可以访问或更改变量值,此时 变量具有局部作用域并被称为过程级变量。如果在过程之 外声明变量,则该变量可以被脚本中所有过程所识别,称 为脚本级变量,具有脚本级作用域。 变量存在的时间称为 存活期。脚本级变量的存活期从被声明的一刻起,直到脚 本运行结束。对于过程级变量,其存活期仅是该过程运行 的时间,该过程结束后,变量随之消失。在执行过程时, 局部变量是理想的临时存储空间。可以在不同过程中使用 同名的局部变量,这是因为每个局部变量只被声明它的过 程识别。 n(4) 标量变量与数组变量 n一般情况下,只需为声明的变量赋一个值。只包 含一个值的变量被称为标量变量。有时候,将多 个相关值赋给一个变量更为方便,因此可以创建 包含一系列值的变量,称为数组变量。数组变量 和标量变量是以相同的方式声明的,惟一的区别 是声明数组变量时变量名后面带有括号 ( )。下例 声明了一个包含9个元素的一维数组: n n虽然括号中显示的数字是8,但由于在VBScript中 所有数组都是基于0的,所以这个数组实际上包含 9个元素(学过PASCAL或C语言的读者对这一点 应该并不陌生)。在基于0的数组中,数组元素的 数目总是括号中显示的数目加1。这种数组被称为 固定大小的数组。 n在数组中使用索引为数组的每个元素赋值。从0到8,将数 据赋给数组的元素,如下所示: n n与此类似,使用索引可以检索到所需的数组元素的数据。 例如: n n数组并不仅限于一维。数组的维数最大可以为60。声明多 维数组时用逗号分隔括号中每个表示数组大小的数字。在 下例中,MyTable变量是一个有5行和10列的二维数组: n n在二维数组中,括号中第一个数字表示行的数目,第二个 数字表示列的数目。 n也可以声明动态数组,即在运行脚本时大小发生变化的 数组。对数组的最初声明使用 Dim 语句或ReDim语句。 但是对于动态数组,括号中不包含任何数字。例如: n n要使用动态数组,必须随后使用ReDim确定维数和每一 维的大小。在下例中,ReDim将动态数组的初始大小设 置为25,而后面的ReDim语句将数组的大小重新调整为 30,同时使用Preserve关键字在重新调整大小时保留数组 的内容。 n n程序清单 03_02.asp n n n动态数组应用实例 n n n“ nNext n% n n n3.2.3 VBScript常数 n常数是具有一定含义的名称,用于代替数字或字符串,其值 从不改变。VBScript定义了许多固有常数,详细信息请参考 相关书籍资料或查看MSDN联机手册。 n可以使用Const语句在VBScript中创建用户自定义常数。使用 Const语句可以创建名称具有一定含义的字符串型或数值型常 数,并给它们赋原始值。例如: n n n常数实例 n n n n n n3.2.4 运算符 nVBScript 有一套完整的运算符,包括算术运算符 、比较运算符、连接运算符和逻辑运算符。 n当表达式包含多个运算符时,将按预定顺序计算 每一部分,这个顺序被称为运算符优先级。可以 使用括号越过这种优先级顺序,强制首先计算表 达式的某些部分。运算时,总是先执行括号中的 运算符,然后再执行括号外的运算符。但是,在 括号中仍遵循标准运算符优先级。 n当表达式包含多种运算符时,首先计算算术运算 符,然后计算比较运算符,最后计算逻辑运算符 。所有比较运算符的优先级相同,即按照从左到 右的顺序计算比较运算符。 运算符优先级 算术运算符比较运算符逻辑运算符 描述符号描述符号描述符号 求幂等于=逻辑 非Not 负号-不等于 n3.2.6 循环语句 n循环用于重复执行一组语句。循环可分为三类: 一类在条件变为 False 之前重复执行语句,一类在 条件变为 True 之前重复执行语句,另一类按照指 定的次数重复执行语句。 n在 VBScript 中可使用下列循环语句: Do.Loop: 当(或直到)条件为 True 时循环。 While.Wend: 当条件为 True 时循环。 For.Next: 指定循环次数,使用计数器重复运行 语句。 For Each.Next: 对于集合中的每项或数组中的每 个元素,重复执行一组语句。 n(1) 使用DO循环 n可以使用DoLoop语句执行次数未知的循环,有 如下两种格式: n格式一: n n格式二: n n两种格式的区别是,前者先判断While语句后面的条件是否 为真,再执行下面的程序代码,而后者则至少执行一次循 环体再判断条件是否为真,在某些特殊情况下,使用前一 种方式要安全些。在后面我们将经常碰到一种循环方式, 当从数据库中执行一Select语句形成记录集时,如果不引用 Rs.Count属性,则记录集大小未知,此时可以这样循环以 遍历数据集: n n这时若采用格式二,当记录集为空时,程序将会出错,对 为空的记录集引用字段值,将被提示错误“出现意外”。 n与While相反,Until用于DoLoop语句时,条件被满足时 退出循环体。在使用DO循环时,可使用Exit Do语句强制 退出循环体。 n(2) 使用For.Next循环 nFor.Next 语句用于将语句块运行指定的次数。在循环中使 用计数器变量,该变量的值将随每一次循环的增加或减少 ,其标准形式为: n n当m值为1时,可以忽略该参数,形式变为: n nm可为负值,当m为负值时,表示循环量依次递减。 n在循环体内,可使用Exit For语句强行退出。 n程序清单03_05.asp n n nFor.Next循环示例 n n n n n请选择查询日期: n n n n n n年 n n n n n n月 n n n n n n日 n n n n n n n程序清单 SelectDay.asp n n n03_05.asp的处理程序 n n n n n n(3) 使用For Each.Next循环 nFor Each.Next循环与For.Next循环类似。 For Each.Next不是将语句运行指定的次数 ,而是对于数组中的每个元素或对象集合 中的每一项重复一组语句。这在不知道集 合中元素的数目时非常有用。 n3.2.7 VBScript过程 n(1) Sub过程 nSub过程其实就是包含在Sub和End Sub语句之间的 一组VBScript语句,它只负责完成某些操作,但不 返回任何值。Sub过程可以使用参数(可以为常量 、变量或某一表达式)。如果Sub过程不需要参数 ,仍需包含空括号()。 nSub过程在客户端脚本编程中使用较多,一般用来 实现客户端的动态显示。下面我们列举一个小的 例子来演示Sub过程的用法。该过程由用户单击一 个按钮触发,提示用户输入一个合法的日期格式 ,然后判断该日期是星期几,最后反馈给用户。 n程序清单 03_06.htm n n nSub过程演示 n nSub DayOfWeek() n dim day1 n dim temp n day1 = InputBox(“请输入一个合法的日期,格式为yymm -dd“,1) n If Not IsDate(day1) Then n MsgBox “您输入的日期不合法,请重新输入“ n Else n temp = WeekDay(Cdate(day1) n Select Case temp n Case 1 n Tempstr=“星期天“ n Case 2 n TempStr=“星期一“ n Case 3 n TempStr=“星期二“ n Case 4 n TempStr=“星期三“ n Case 5 n TempStr=“星期四“ n Case 6 n TempStr=“星期五“ n Case 7 n TempStr=“星期六“ n End Select n MsgBox “您输入的日期是“&Tempstr n End If nEnd Sub n n n n n n(2) Function过程 nFunction过程其实就是函数,是包含在 Function和End Function语句之间的一组 VBScript语句。Function过程与Sub过程类似 ,但是Function过程可以返回值。Function 过程可以使用参数(常数、变量或某一表 达式)。如果Function过程无任何参数,则 Function语句必须包含空括号 ()。Function过 程通过函数名返回一个值,这个值是在过 程的语句中赋给函数名的。返回值的数据 类型总是Variant。 n程序清单 03_07.asp n n nFunction过程实例 n n n n n n 3.3 VBScript常用函数 n3.3.1 转换函数 n(1) CBool函数 nCBool(Expression)返回已转换为Boolean子类型的Variant, Expression是任意有效的表达式。如果Expression是零,则 返回False;否则返回True。如果Expression不能解释为数值 ,将发生运行时错误。 n(2) CByte函数 nCByte(Expression)返回已被转换为Byte子类型的Variant, Expression参数是任意有效的表达式。如果Expression在 Byte子类型可接受的范围之外,则发生错误。 n通常,可以使用子类型转换函数书写代码,以显示某些操 作的结果应被表示为特定的数据类型,而不是默认类型。 例如,在出现货币、单精度、双精度或整数运算的情况下 ,使用CByte强制执行字节运算。 n(3) CCur函数 nCCur(Expression)返回已被转换为Currency子类型的 Variant,Expression 参数是任意有效的表达式。通常 ,可以使用子类型数据转换函数书写代码,以显示某 些操作的结果应当被表达为特定的数据类型,而非默 认的数据类型。例如在整数运算的情况下,使用CCur 函数强制进行货币计算。 n(4) CDate函数 nCDate(Date)返回已被转换为Date子类型的Variant, Date参数是任意有效的日期表达式。 nCDate识别日期文字和时间文字,以及一些在可接受 的日期范围内的数字。在将数字转换为日期时,数字 的整数部分被转换为日期,分数部分被转换为从午夜 开始计算的时间。 nCDate根据系统的区域设置识别日期格式。如果数据 的格式不能被日期设置识别,则不能判断年、月、日 的正确顺序。另外,如果长日期格式包含表示星期几 的字符串,则不能被识别。 n(5) CDbl函数 nCDbl(Expression)返回已被转换为Double子 类型的Variant,Expression参数是任意有效 的表达式。 n通常可以使用子类型数据转换函数书写代 码,以显示某些操作的结果应当被表达为 特定的数据类型,而非默认的数据类型。 例如在出现货币或整数运算的情况下,使 用CDbl或CSng函数强制进行双精度或单精 度算术运算。 n(6) CInt函数 nCInt(Expression)返回已被转换为Integer子类型的 Variant,Expression参数是任意有效的表达式。如 果Expression在Integer子类型可接受的范围之外, 则发生错误。 n通常可以使用子类型转换函数书写代码,以显示 某些操作的结果应被表示为特定的数据类型,而 不是默认类型。例如,在出现货币、单精度或双 精度运算的情况下,使用CInt或CLng强制执行整 数运算。 n注意,当分数部分恰好为0.5时,CInt函数通常将 其四舍五入为最接近的偶数。例如,0.5 被四舍五 入为0,而1.5则被四舍五入为2。 n(7) CLng函数 nCLng(Expression)返回已被转换为Long子类型的 Variant,Expression参数是任意有效的表达式。其 用法与CInt函数基本相同。 n(8) CSng函数 nCSng(Expression)返回已被转换为Single子类型的 Variant,Expression参数是任意有效的表达式。其 用法与CDbl函数基本相同。 n(9) CStr函数 nCStr(Expression)返回已被转换为String子类型的 Variant,Expression参数是任意有效的表达式。 CStr函数返回值类型表 Expression类型返回值 Boolean字符串,包含 True 或 False Date字符串,包含系统的短日期格 式的日期 Null运行时错误 Empty零长度字符串 (“) Error字符串,包含跟随有错误 号码 的单词 Error 其他数值字符串,包含此数字 n3.3.2 字符串函数 n(1) Left函数与Right函数 nLeft(string, length) 返回指定数目的从字符串 的左边算起的字符,Right(string, length) 返 回指定数目的从字符串的右边算起的字符 。 n参数string为字符串表达式,如果string参数 中包含Null,则返回Null。参数length为数值 表达式,指明要返回的字符数目。如果是0 ,返回零长度字符串 (“);如果大于或等于 string参数中的字符总数,则返回整个字符 串。 n(2) Len函数 nLen(string)返回字符串内字符的数目,Len(varname) 返回存储一变量所需的字节数。参数string为任意 有效的字符串表达式,如果string参数包含Null, 则返回Null。varname为任意有效的变量名。如果 varname 参数中包含 Null,则返回 Null。 n(3) Mid函数 nMid(string, start, length)从字符串中返回指定数目 的字符。 n参数string为字符串表达式,从中返回字符,如果 string参数中包含 Null,则返回Null。参数start指定 string中被提取的字符部分的开始位置。如果start 超过了string中字符的数目,Mid函数将返回零长 度字符串 (“)。参数length指定要返回的字符数。 如果省略或length超过文本的字符数(包括start处 的字符),将返回字符串中从start到字符串结束 的所有字符。 n(4) LTrim函数、RTrim函数与Trim函数 nLTrim(string)返回不带前导空格的字符串副 本;RTrim(string) 返回不带后续空格的字符 串副本;Trim(string)返回不带前导、后续空 格的字符串副本。string参数是任意有效的 字符串表达式。如果string参数中包含 Null ,则返回 Null。 n(5) Replace函数 nReplace(expression, find, replacewith, compare, count, start)返回字符串,其中指 定数目的某子字符串被替换为另一个子字 符串。 n必选参数expression为字符串表达式,包含要替换 的子字符串;必选参数find指定被搜索的子字符串 ;必选参数replacewith指定用于替换的子字符串; 可选参数start指定expression中开始搜索子字符串 的位置,如果省略,默认值为1;可选参数count 指定执行子字符串替换的数目,如果省略,默认 值为-1,表示进行所有可能的替换;可选参数 compare指定在计算子字符串时使用的比较类型的 数值,如果省略,默认值为0。 ncompare参数可以有以下值: n0:表示执行二进制比较。 n1:表示执行文本比较。 n2:执行基于数据库(在此数据库中执行比较)中 包含的信息的比较。 n(6) StrComp函数 nStrComp(string1, string2, compare) 返回指示字符串 比较结果的值。必选参数string1为任意有效的字符 串表达式;必选参数string2为任意有效的字符串表 达式;可选参数compare 指定在计算字符串时使用 的比较类型的数值。如果省略,则表示执行二进 制比较。 ncompare参数可以有以下值:0,执行二进制比较 ;1,执行文本比较;2,执行基于数据库(在此 数据库中执行比较)中包含的信息的比较。 n当string1小于string2时,返回值为-1,当string1等 于string2时,返回值为0,当string1大于string2时, 返回值为1,当string1与string2中任意一个为Null时 ,返回Null。 n(7) String函数 nString(number, character) 返回具有指定长度的、重 复字符组成的字符串。参数number指定字符串的 长度。如果number参数中包含Null,则返回Null。 参数character指定字符或字符串表达式的字符代码 ,其中字符串表达式的第一个字符用于组成返回 的字符串。如果参数characte中包含Null,则返回 Null。 n(8) LCase函数与UCase函数 nLCase(string)返回字符串的小写形式;UCase(string) 返回字符串的大写形式。参数string是任意有效的 字符串表达式。如果参数string中包含Null,则返 回Null。 n(9) 字符串函数应用实例 n程序清单03_08.asp n n n字符串函数应用实例 n n n“ nResponse.Write “str2被赋值为:“&str2&“ nResponse.Write “str3被赋值为:“&str3&“ nResponse.Write “str4被赋值为:“&str4&“ nResponse.Write “ nLen函数用法 nResponse.Write “str1的长度为“&Len(str1)& “ nLeft函数,Right函数用法 nResponse.Write “str3左起第六位字符为 “&Right(Left(str3,6),1)& “ nLCase函数与UCase函数用法 nResponse.Write “str3的全大写形式为“&Ucase(str3)& “ nResponse.Write “str3的全小写形式为“&Lcase(str3)& “ nResponse.Write “ nLTrim函数、RTrim函数与Trim函数用法 nResponse.Write “str4去前导空格后为:“<rim(str4)& “ nResponse.Write “str4去后续空格后为:“&RTrim(str4)& “ nResponse.Write “str4去前后空格后为:“&Trim(str4)&“ n字符串比较函数用法 ni = StrComp(str1,str2) nIf i = -1 Then n Response.Write str1&“小于“&str2&“ nElseIf i = 0 Then n Response.Write str1&“等于“&str2&“ nElseIf i = 1 Then n Response.Write str1&“大于“&str2&“ nEnd If n% n n n3.3.3 日期时间函数 n(1) Date函数、Time函数与Now函数 nDate函数返回当前系统日期;Time函数返回当前 系统时间;Now函数返回当前系统日期和时间。 n(2) DataAdd函数 nDateAdd(interval,count,date1)返回一个日期值,该 日期与参数date1日期的间隔由参数interval和参数 count指定。 n参数interval有多个可选值,比较常用的有“d“、 “m“、“y“,分别表示以日、月、年为单位进行日 期加减计算。参数count为整型值,指定要加(为 负数时表示减)的日/月/年数值。 n(3) DateDiff函数 nDateDiff(interval, date1, date2)函数返回两个日期之 间的间隔。其参数interval与DateAdd函数interval参 数意义相同,可以说DateDiff函数是DateAdd函数 的逆运算。 n(4) DateSerial函数 nDateSerial(year, month, day) 返回Date子类型的 Variant,其中参数year,month,day分别用来指定该 日期的年、月、日。 n对于year参数,若取值范围是从0到99,则被解释 为1900到1999年。对于此范围之外的year参数,则 使用四位数字表示年份(例如1800年)。 n(5) Day函数、Month函数与Year函数 nDay(date)、Month(date)与Year(date)函数分别 用来求取日期数据date的日、月、年数值。 n(6) Hour函数、Minute函数与Second函数 nHour(time)、Minute(time)、Second(time)函数 分别用来求取时间数据的时、分、秒数值 。 n(7) TimeSerial函数 nTimeSerial(hour, minute, second) 返回一个含 有指定时、分、秒的Date子类型Variant。 n(8) 日期时间类函数应用实例 n程序清单03_09.asp n n n日期时间函数应用实例 n n n当前时间为“ & Time() nResponse.Write “当前日期时间为“ & Now() nResponse.Write “ ndate1 = DateAdd(“d“,1000,date) nResponse.Write “一千天之后是“ & date1 nDate2=DateSerial(2003,10,1) ni = DateDiff(“d“,Date,date2) nResponse.write “国庆节离今天还有“ & i & “天“ nResponse.Write “ n求取年、月、日、时、分、秒各函数的用法 n注意函数名的首字母是大写的,变量名首字母是小写的 nstr1 = Year(Date)&“年“ & Month(Date) & “月“ & Day(Date) & “日“ nstr2 = Hour(time)&“时“ & Minute(Time) & “分“ & Second(Time) & “秒“ nResponse.Write “当前日期的格式化表示为:“ & str1 nResponse.Write “当前时间的格式化表示为:“ & str2 nResponse.Write “当前日期时间的格式化表示为:“ & str1 & “ “ & str2 n% n n n3.3.4 数学函数 n(1) Abs函数 nAbs(number) 返回数字的绝对值。number参数可 以是任意有效的数值表达式。如果 number参数 中包含Null,则返回Null;如果是未初始化变量 ,则返回0。 n(2) Atn函数、Tan函数、Cos函数与Sin函数 nAtn(number)、Tan(number)、Cos(number)、 Sin(number)函数分别返回某个角的反正切值、正 切值、余弦值、正弦值,number参数可以是任 何将某个角表示为弧度的有效数值表达式。 n(3) Oct函数与Hex函数 nOct(number)与Hex(number)分别返回表示数字八 进制值与数字十六进制值的字符串,number参 数可以是任意有效的表达式。 n3.3.5 格式化函数 n(1) FormatDateTime函数 nFormatDateTime(Date,NamedFormat) 返回 已被格式化为日期或时间的表达式。必选 参数Date指定要被格式化的日期,可选参数 NamedFormat指示所使用的日期/时间格式 的数值,如果省略,则使用默认值0。 NamedFormat参数与返回值之间的关系 如下表 NamedFormat值FormatDateTime函数返回值 0 显示日期和/或时间。如果有日期部分, 则将该部分显示为短日期格式。如果 有时间部分,则将该部分显示为长时 间格式。如果都存在,则显示所有部 分 1 使用计算机区域设置中指定的长日期格 式显示日期 2 使用计算机区域设置中指定的短日期格式 显示日期 3 使用计算机区域设置中指定的时间格式 显示时间 4 使用 24 小时格式 (hh:mm) 显示时间 n程序清单 03_10.asp n n nFormatDatetime函数运行效果演示 n n n“ & FormatDatetime(now,0) nResponse.Write “ & FormatDatetime(now,1) nResponse.Write “ & FormatDatetime(now,2) nResponse.Write “ & FormatDatetime(now,3) nResponse.Write “ & FormatDatetime(now,4) n% n n n(2) FormatNumber函数 nFormatNumber(expression,exp1 ,exp2 ,exp3 ,exp4) 返回已被格式化的数值表达式。必选参 数expression指定要被格式化的表达式;可选参数 exp1指定小数点右侧显示位数的数值,默认值为-1 ,表示使用的是计算机的区域设置;可选参数 exp2为三态常数,指定是否显示小数值小数点前 面的零;可选参数exp3为三态常数,指定是否将 负值置于括号中;可选参数exp4为三态常数,指 定是否使用计算机区域设置中指定的数字分组符 号将数字分组。当省略一个或多个可选参数时, 由计算机区域设置提供被省略参数的值。 nexp1、exp2、exp3、exp4等四个三态常数有如下可 选值:-1,表示ture;0,表示false,-2,表示使用 计算机区域设置中的设置。 n程序清单 03_11.asp n n nFormatNumber函数运行效果演示 n n n“ & FormatNumber(1.111111,4) n指定显示小数点前面的零 nResponse.Write “ & FormatNumber(0.111111,4,- 1) n指定不显示小数点前面的零 nResponse.Write “ & FormatNumber(0.111111,4,0) n指定将负数放在括号中 nResp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论