ASP动态网页设计与应用第3章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第3章ASP脚本语法本章要点3.1教材订单3.2时间日历3.3新闻列表3.4综合案例习题33.1教材订单3.1.1案例效果图3-1教材订单3.1教材订单3.1.2案例实现(见书)3.1.3知识拓展1.ASP中的脚本语言(1)脚本语言简介脚本语言是介于HTML和Java、C++以及VisualBasic等编程语言之间的程序语言。HTML通常用于网页的布局、格式化和链结文本等静态内容,而编程语言通常用于向机器发出一系列复杂的指令,指挥计算机完成复杂的工作。(2)VBScript、Javascript和JscriptVBScript与Basic语言有密切关系,VBScript是MicrosoftVisualBasic的简化版本。如果熟悉BASIC,将会发现VBScript很容易学习和使用。VBScript作为一种脚本语言,容易使用,脚本语言的语法相对来说也比较简单。但是,简单的句法也使开发大的应用程序变得很困难。3.1教材订单2.在ASP网页中使用脚本语言的基本格式在ASP网页中可以通过两种方法来使用脚本语言,通过定界符%和%或HTMLScript对象来包含脚本代码。对包含有脚本代码的网页文件,在保存文件时,将文件扩展名设置为.asp,浏览该文件时,就可以通过ASP引擎来对脚本代码进行解释执行。(1)通过定界符%和%包含脚本代码(2)通过HTMLScript对象包含脚本代码(3)两种格式的区别使用%和%和Script对象所执行的脚本代码是有区别的。使用script包含的脚本会立即执行,无论它在ASP文件的任何位置。例如:(见书)3.1教材订单上面代码的执行结果如图3-2左图所示。图3-2script中的内容首先执行查看生成的HTML源文件,如图3-2右图所示,可以看到,script中输出的文字“这是第二行.”在HTML元素之前,因此在显示时最先得到执行。3.1教材订单3.VBScript数据类型VBScript中只有一种数据类型Variant,也称为变体类型。Variant是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。在代码执行时,Variant的内容会自动进行类型转换。例如,Variant用于数值上下文中时作为数值处理,用于字符串上下文中时作为字符串处理。这就是说,如果使用看起来象是数值的数据,则VBScript会假定其为数字并以适用于数值的方式处理。与此类似,如果使用的数据只可能是字符串,则VBScript将按字符串处理。例如:(见书)4.常量与变量3.1教材订单5.表达式表达式是用运算符和圆括号将数据按照一定的语法规则连接而成的有意义的式子。例如:PI*R、Num1-100、A=PI*(R+100)。VBScript中可以使用所有VisualBasic中的运算符,根据表达式中使用的运算符不同,可以将表达式分为算术表达式、字符串表达式、关系表达式和逻辑表达式。(1)算术表达式(2)字符串表达式(3)关系表达式(4)逻辑表达式(5)复合表达式的运算顺序3.1教材订单6.VBScript脚本中的注释注释语句用来进行程序的说明,该种语句在程序运行中是不执行的,它只是为了帮助阅读程序。可以在ASP网页中使用HTML风格的注释(例如,!--注释--),但是,在VBScript脚本中却不能用这种注释。要在一个VBScript脚本中加人注释,可以使用下面的方法:以命令Rem开头,其后跟着说明的文字,用空格将Rem命令和其后的说明文字分开;以半角单引号(′,也称为撇号)开头,其后跟着说明的文字,可以直接放在一条脚本语句的后边。7.VBScript代码书写规则作为一名合格的程序设计者,如何使设计出的程序易于维护也是一个重要的问题。一些所谓的程序高手常常以设计出别人不能理解的、怪僻的程序代码而自娱,不会顾及程序的维护以及与同事间的沟通;而一些编程新手则可能比较随心所欲,只求完成任务,不会想到后续的维护问题。3.2时间日历3.2.1案例效果图3-3时间日历3.2时间日历3.2.2案例实现(见书)3.2.3知识拓展1.VBScript常用标准函数函数(Function)是一些特殊的语句或程序段,每一种函数都可以进行一种具体的运算。如同数学中的函数,在程序中,只要给出函数名和相应的参数就可以使用它们,并可得到一个函数值。在VBScript中,为方便程序的设计,系统提供了一些常用的函数供开发者使用,称为标准函数,也叫内部函数或预定义函数。标准函数包括数学函数,日期时间函数、字符串函数、转换函数等等,学会使用这些函数,对于ASP网页程序的设计有很大的好处,大大地增强了程序的功能和程序的开发效率。2.数学函数数学函数的用于数学计算,有三角函数、求根函数等,数学函数的函数名、函数值类型和函数功能如表3-4所示。(见书)3.2时间日历3.字符串函数字符串函数用于字符串数据的处理,常用字符串函数的函数名、函数值类型和函数功能如表3-4所示。(见书)表中所示的字符串函数说明如下:(见书)4.日期和时间函数日期和时间函数用于日期和时间的处理,日期和时间函数的函数名、函数值类型和函数功能如表3-6所示(见书)。对于表中的举例,当前的系统时间均设为2005年4月23日14点18分30秒。表中所示的日期函数说明如下:(见书)5.类型转换函数类型转换函数可将任意有效的表达式转换成一种子类型的数据。常见的类型转换函数的函数名和函数值的类型如表3-9所示。(见书)表中所示的类型转换函数说明如下:(见书)6.检测函数(见书)3.2时间日历7.If语句在ASP中,很多情况下需要对数据进行判断,例如,判断用户输入的数据是否有效,判断用户是否有足够的权限来访问某个特殊网页等。这时,就会用到条件语句,条件语句的功能都是根据表达式的值是否成立,有条件地执行一组语句。在VBScript中,能够实现条件判断的语句有If语句和SelectCase(多分支开关)语句。If语句有多种结构形式:单行If语句,块If语句和If…Else…语句。(1)单行If语句(2)块If语句(3)If…Then…ElseIf语句3.2时间日历图3-4变色的时间3.2时间日历8.SelectCase语句If…Then….ElseIf语句可以包含多个ElseIf子语句,这些Elself子语句中的条件一般情况下是不同的。但当每个ElseIf子语句后面的条件都相同,而条件表达式的结果却有多个,使用If…Then…ElseIf语句编写程序就会很烦琐,此时可使用SelectCase语句。SelectCase语句格式如下:SelectCase条件表达式[Case取值列表1语句序列1][Case取值列表2语句序列2]……[CaseElse语句序列n]EndSelect3.2时间日历图3-5计算当月天数3.3新闻列表3.3.1案例效果图3-6新闻列表3.3新闻列表3.3.2案例实现(见书)3.3.3知识拓展1.For…Next循环在程序中时,常常需要重复某些相同的操作,即对某一语句或语句序列重复执行多次,解决此类问题,就要用到循环结构语句。VBScript中提供了三种类型的循环语句:For…Next、While…Wend和Do…Loop。其中,最常使用的循环语句是For…Next,格式如下:For循环变量=初始值To终止值[Step步长值]循环体语句序列Next其中,循环变量是数值型变量,初值、终值和步长值都是数值型的常量、变量或表达式。3.3新闻列表例如,下面的程序段利用For…Nex语句的特点,计算1+2+……+100的值(见书)图3-7累加求和3.3新闻列表如果需要在循环的过程中退出循环,在循环体语句序列中可以加入ExitFor语句,执行该语句后会强制程序脱离循环,执行Next下面的语句。ExitFor语句通常放在选择结构语句之中使用。与If语句一样,For…Next语句也可以拆开到不同脚本段中,以嵌入HTML元素,例如,下面的代码就是利用For…Next循环来动态地输出表格。(见书)图3-8动态输出表格13.3新闻列表2.While…Wend循环While也是ASP是常用的一种循环语句,常用于数据记录的循环浏览,其使用格式如下:While条件循环体语句序列Wend当条件成立时,重复执行语句序列,否则,转去执行关键字Wend后面的语句。执行Wend语句的作用就是返回到While语句去执行。这里的条件实际上是一个表达式,对它的要求与对If…Then…Else语句的要求一样。通常使用的是关系和逻辑表达式。下面的代码是一个While…Wend循环演示,它用于求100以内的菲波那契数列。菲波那契数列为1、1、2、3、5、8、13、21…,其规律是数列中的后一个数是前两个数之和。(见书)3.3新闻列表上面网页浏览效果如图3-9所示。图3-9菲波那契数列3.3新闻列表3.Do…Loop循环Do…Loop循环有两种形式,直到型循环和当型循环。(1)当型Do…Loop循环(2)直到型Do…Loop语句图3-10中止循环3.3新闻列表4.循环结构的嵌套可以把一个循环结构放入另一个循环结构之中,这称为循环结构的嵌套。例如,可以在一个For…Next语句中嵌套另一个For…Next语句,组成嵌套循环,不过在每个循环中的循环控制变量应使用不同的变量名,以避免互相影响。图3-11带条件标志的循环3.3新闻列表5.数组(1)数组的概念在实际应用中,经常需要处理一批相互有联系、有一定顺序、同一类型和具有相同性质的数据。通常把这样的数据或变量叫数组。数组是一组具有相同数据结构的元素组成的有序的数据集合。(2)数组的定义与应用定义数组语句的格式及功能如下:(见书)数组在引用时,通常是对单个数组元素进行逐一引用,对数组元素的引用是通过下标变量来进行的,可以完全象使用简单变量那样对数组元素进行赋值和读取,下标变量的下标可以是常量、变量和数值型表达式(长整型数据)。例如:(见书)3.3新闻列表图3-12数组演示3.3新闻列表(3)数组函数VBScript中,提供了几个数组的相关函数,可以使用数组函数来方便地使用数组,Array()函数,用于通过元素列表中的数据来创建数组。图3-13Split函数的应用3.3新闻列表6.子过程与函数如果需要在脚本中的多处地方执行同样的一组语句,可以使用子过程或函数过程(简称为函数)。一个子过程/函数过程可以包含VBscript语句的任何集合,在脚本中,可以调用同一个子过程/函数过程任意多次。子过程和函数过程的共同点是都完成某种特定功能的一组程序代码;不同之处是函数过程可以带有返回值,所以函数过程定义时有返回值的类型说明。在定义中,子过程以关键字说明,函数以关键字Function说明。定义过程格式如下:Sub子过程名[(形参表)][语句序列][ExitSub][语句序列]EndSub3.3新闻列表定义函数过程的格式如下。(见书)形参表中的参数称为形参,它类似于变量声明,它用于接受调用过程时传递过来的值。形参表指明了传送给过程的变量个数和类型,各变量名之间用逗号分隔。形参表中的形参可以是除定长字符串之外的合法变量,还可以是后面跟括号的数组名(若括号内由数字,则一般表示述组的维数)。定义子过程和函数过程时,可以没有参数,但定义无参数的函数过程时,必须有括号。此外,过程名命名规则与变量命名规则相同,注意不要与VBScript中的关键字重名,也不能与同一级别的变量重名,过程名在一个程序要具有唯一性。过程的调用有多种方法,对于是否具有返回值,可以按如下方法分别进行调用。子过程不能够返回一个值,则子过程不可以在表达式中调用,调用子过程要使用了一个独立的语句。调用方法有两种:(见书)3.3新闻列表7.变量的作用域与生存期变量都有一定的作用范围,称为作用域。变量的作用域由声明它的位置决定。如果在过程中声明变量,则只有该过程中的代码可以访问或更改变量值,此时变量具有局部作用域并被称为过程级变量。如果在过程之外声明变量,则该变量可以在脚本被中所有过程所识别,称为脚本(Script)

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功