web程序设计课件CH3vb.ppt

上传人:牧羊曲112 文档编号:6523364 上传时间:2023-11-08 格式:PPT 页数:72 大小:464KB
返回 下载 相关 举报
web程序设计课件CH3vb.ppt_第1页
第1页 / 共72页
web程序设计课件CH3vb.ppt_第2页
第2页 / 共72页
web程序设计课件CH3vb.ppt_第3页
第3页 / 共72页
web程序设计课件CH3vb.ppt_第4页
第4页 / 共72页
web程序设计课件CH3vb.ppt_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《web程序设计课件CH3vb.ppt》由会员分享,可在线阅读,更多相关《web程序设计课件CH3vb.ppt(72页珍藏版)》请在三一办公上搜索。

1、Web 程序设计第 3 章,VBScript脚本语言,2,目标,VBScript的数据类型 变量和常量,运算符用户交互函数和过程的使用流程控制结构创建VBScript过程使用VBScript内置函数重点:流程控制,子过程和函数过程,3,3.1 脚本语言概念,脚本(script)语言的概念源于Unix系统,在Unix系统中,将主要以行命令组成的命令集称为Shell脚本程序。常用脚本语言有:JavaScript、VbScript、和用于编写CGI脚本的Perl,Shell Script 等。脚本语言分为客户端脚本语言和服务器端脚本语言,前者在客户端执行,后者在服务器端执行。客户端默认脚本语言为Ja

2、vaScript,服务器端默认的脚本语言为VbScript。使用客户端脚本可以:为用户提供交互、动态修改内容、检验数据、集成,4,VBScript语言,VBScript语言是一种与Visual Basic相类似的程序设计语言,与Visual Basic语法基本相同,但功能上限制比较多;VBScript与JavaScript一样,是嵌入于HTML中的,可以设计出生动活泼、互动的Web pages和Web-based应用程序;VBScript可以在客户端和服务器端执行;VBScript是面向对象的程序设计语言,在VBScript的服务器端程序中,ASP对象很重要。,5,3.2 在网页中嵌入VBSc

3、ript代码的方法,动态网页示例 script代码块,默认由客户浏览器执行-,图3-1 动态网页浏览结果,6,在网页中嵌入VBScript代码的方法,说明:(1)标记的作用是嵌入VBScript代码。该标记的一般格式如下:VBScript代码序列 标记可以出现在HTML文档的任何地方(body或head部分之中),但最好将所有的一般目的的脚本代码放在head部分中,使所有脚本代码集中放置。这样可以确保在body部分调用代码之前所有脚本代码都被读取并解释。一般将标记中的代码块放在HTML的注释符号“”之间。(2)网页代码中的标记“”的作用是嵌入ASP代码,可以根据需要在其中编写VBScript脚

4、本程序。注意:“”之间的代码将由服务器解释执行。,7,3.3 VBScript语言的写书规则,(1)程序代码中不区分字母的大小写;(2)一行可以写多条语句,语句之间用“:”分隔;(3)一条语句也可以写在若干行上,但需在每行末尾加上续行标记空格和下划线“_”;(4)一行的长度不得超过255个字符;(5)在代码中可合理地使用注释,注意以“”开头,可以自占一行,也可以直接出现在语句的后面。,8,3.4 数据类型,可变型数据类型Variant 由各种子数据类型构成可存储任何子类型的值支持自动转换各种子类型,9,3.5 变量和常量,一、变量定义程序执行时可以改变的量语法命名规则,Dim x Dim a,

5、b,Left,Right,(1)变量名只能由字母、数字和下划线组成。(2)变量名的第一个字符必须是字母。(3)变量名中间不能有空格。(4)变量名中不能包含小数点。(5)变量名的字符数目不得超过255个字符。(6)不能用VB的关键字作变量名。(7)变量名不能与过程名和符号常量名相同。(8)变量名在同一个作用域内必须是惟一的。,10,3.5 变量和常量,二、常量定义程序执行时保持不变的数据分类直接常量符号常量(内部常量、用户声明常量),Const mystring=这是一个常量 Const myage=100Const CutoffDate=#3-16-2003 13:20:15#,11,例1 求

6、圆的周长。常量 const Pi=3.14 定义圆周率为常量 dim r,length r=3 length=2*Pi*r MsgBox“圆的半径为:”&r&vbCrLf&“圆的周长为:”&length,12,3.5 变量和常量,三、数组定义一组相同类型的变量的集合分类静态数组动态数组,Dim 数组名(最大下标)Dim array1(2)Dim array2(2,3),Dim 数组名()Dim myarray()Redim preserve 数组名(新的最大下标值)Dim datanum()Redim datanum(10),13,3.5 变量和常量,三、数组示例,Dim A(10)A(0)=

7、256 A(1)=324 A(10)=55 Document.write(A(0)Document.write(“”)Document.write(A(9)Document.write(“”)Document.write(A(10),Dim A()Redim A(25)A(0)=256 A(1)=324 Redim Preserve A(30)A(30)=30 Document.write(A(0)Document.write(“”)Document.write(A(1)Document.write(“”)Document.write(A(30),用于向当前网页输出内容,其内容可以是纯文本,也

8、可以是文本与HTML标记的组合,14,例2 动态数组示例。,15,3.6 运算符,一、算术运算符:+、-、*、/、(整除)、Mod(取余)、(乘方)二、字符串运算符“&”与“+”的区别 三、比较运算符:=、=,“计算机”&1234 结果为”计算机1234”“22”&1234 结果为”221234”22+1234 结果为1256“计算机”+1234 出错,16,3.6 运算符,四、逻辑运算符,17,3.7 用户交互函数和过程,一、InputBox函数作用产生一个输入框,等待用户输入文本或选择一个按钮,当用户单击确定按钮或按回车键,函数返回文本框中输入的内容。语法,InputBox(“提示”,“标

9、题”,“缺省值”,“x坐标位置”,“y坐标位置”)useraccount=InputBox(请输入您的账号,账号输入框,”A31007”),18,3.7 用户交互函数和过程,二、MsgBox函数和MsgBox过程作用产生一个信息框,等待用户选择一个按钮。MsgBox函数会返回一个值指示用户选择的按钮,若不需返回值,则可用MsgBox过程。语法“图标名称”和“按钮名称”的含义,MsgBox函数:MsgBox(“显示内容”,图标名称|按钮名称,“标题”)MsgBox过程:MsgBox“显示内容”,图标名称|按钮名称,“标题”,19,3.7 用户交互函数和过程,三、例4 利用InputBox函数提供

10、一个输入框输入姓名,然后用MsgBox显示输入的姓名。用户交互函数的应用 dim strnamestrname=InputBox(请输入您的姓名,姓名输入框“Msgbox 您的姓名是&strname,显示姓名,20,四、例5 判断输入帐号用户交互函数的应用 dim account,i Do account=InputBox(请输入账号,输入账号对话框)i=Msgbox(你的账号是:&account&vbCrLf&是否重输?,vbYesNo+VbExclamation,显示账号)Loop until i=vbNo,21,3.8 流程控制结构,一、选择结构If语句单分支结构的If语句双分支结构的I

11、f语句多分支结构的If语句Select Case语句,语法:If 表达式 Then 语句块End If或:If 表达式 Then 语句,22,例6 改变网页背景颜色 单分支结构的If语句 If time=#0:0:0#and time End If上午和下午网页的背景颜色不同,23,3.8 流程控制结构,一、选择结构If语句单分支结构的If语句双分支结构的If语句多分支结构的If语句Select Case语句,语法:If 表达式 Then 语句块Else 语句块End If,24,例7 判断是否输入姓名。双分支结构的If语句dim name,messagename=InputBox(请输入您的

12、姓名:)If name=Then message=您未输入您的姓名!Else message=您的姓名是:&name&。End IFMsgBox message,25,3.8 流程控制结构,一、选择结构If语句单分支结构的If语句双分支结构的If语句多分支结构的If语句Select Case语句,语法:If 表达式1 Then语句块1ElseIf 表达式2 Then语句块2 Else语句块nEnd If,26,例8 当用户浏览网页时,能根据浏览时间的不同显示不同的问候语:,27,3.8 流程控制结构,一、选择结构If语句单分支结构的If语句双分支结构的If语句多分支结构的If语句Select

13、Case语句,语法:Select Case 表达式 Case 值1 语句块1Case 值2 语句块2Case Else 语句块nEnd Select,28,例9 根据成绩显示不同的字句。,Select Case语句 option explicitdim score,messagescore=InputBox(“请输入成绩:”)等待用户输入成绩Select Case True case Score,29,3.8 流程控制结构,二、循环结构计数循环语句ForNext 适用用于循环次数确定的循环结构语法 功能执行循环体中的程序代码指定次数,在循环中使用循环变量,该变量值随每一次循环增加步长,步长缺省

14、为1。,For 循环变量=初始值 to终止值 Step 步长程序代码Next,30,例10 实现求1到100的和。for i=1 to 100 sum=sum+i next例11 输出九九乘法表。,31,3.8 流程控制结构,二、循环结构数组循环语句For EachNext 适用常用于数组或对象集合 语法 功能用“变量名”代替数组中的每一个元素或对象集合中的每一项,对于数组中的每一个元素或对象集合中的每一项重复执行循环体中的程序代码。,For Each 变量名 In 数组名或对象集合 程序代码Next,32,例13 用For EachNext循环输出数组中各元素的值。dim score,i,m

15、essage score=Array(97,83,68,90,70,54)创建一个有6个元素的成绩数组 用循环输出每个成绩 For Each i In score 此时数组只需写数组名,不必须加括号 message=message&i&chr(13)&chr(10)next MsgBox message,33,3.8 流程控制结构,二、循环结构条件式循环语句DoLoop适用常用于循环次数未知的循环结构 分类 当型DoLoop 直到型 DoLoop,34,当型DoLoop,DoLoop While执行循环代码并对循环条件进行求值,重复执行直到循环条件为 FalseDo WhileLoop只有在循

16、环条件为 True 时才执行循环代码,重复执行直到循环条件为 False,如果想在条件表达式为 True(而不是False)时才执行循环语句,可使用 While 关键字。,35,当型DoLoop,对比流程图,循环条件,代码,假,真,循环条件,代码,真,假,DoLoop While,Do While Loop,注意都是在循环条件为假时退出,36,直到型DoLoop,DoLoop Until执行循环代码并对循环条件进行求值,重复执行直到循环条件为 True。注意代码至少会执行一次Do UntilLoop只有在循环条件为 False 时才执行循环代码,重复执行直到循环条件为 True。循环结构中的代

17、码可能一次都不执行,37,直到型DoLoop,对比流程图,DoLoop Until,Do Until Loop,注意都是在循环条件为真时退出,38,例14 用Do Loop循环语句求1到100的平方和。DoLoop循环n=1s=0Do while n,39,3.8 流程控制结构,二、循环结构WhileWend循环 适用常用于循环次数未知的循环结构 语法 功能先判断表达式的值,若值为True,则执行循环体中的程序代码,否则退出循环,执行Wend后的语句。,While 表达式程序代码Wend,40,例15 用WhileWend循环语句求1到100的平方和。WhileWend循环n=1s=0Whil

18、e n,41,3.9 VBScript过程,定义:过程是完成某种特定功能的一组独立的程序代码 分类:子过程和函数过程区别:函数过程可以在执行结束的时候返回一个值给调用它的程序,而子过程不返回值。,42,3.9 VBScript过程,一、子过程例16 子过程的定义。,子过程 msgbox 现在执行子过程外的语句 Sub a msgbox 现在执行子过程内的语句 End Sub,43,3.9 VBScript过程,一、子过程调用子过程语法,方式一:Call 子过程名(参数1,参数2,)方式二:子过程名参数1,参数2,,44,3.9 VBScript过程,一、子过程调用子过程例17 无参数子过程的定

19、义及调用。,无参数子过程的定义及调用 a msgbox 现在执行子过程外的语句 Sub a msgbox 现在执行子过程内的语句 End Sub,45,3.9 VBScript过程,一、子过程调用子过程例18 有参数子过程的定义及调用。,有参数子过程的定义及调用 dim a,b,c a=15 b=20 c=4 maxnum a,b,c 调用子过程 Sub maxnum(x,y,z)定义子过程 dim max if xy then max=x else max=y end if if zmax then max=z msgbox“最大的数为:”&max End Sub,46,3.9 VBScri

20、pt过程,一、子过程终止执行子过程(Exit Sub)例19 子过程的中止。,子过程的中止 b Sub b document.write“子过程被中止前”exit sub document.write 子过程被中止后 该语句不会执行到 End Sub,47,3.9 VBScript过程,二、函数过程定义函数过程语法调用函数过程直接引用函数过程名,Function 函数过程名(参数1,参数2,)程序代码函数过程名=返回值 End Function,48,3.9 VBScript过程,二、函数过程例20 函数过程的定义及调用。,dim a,b,c a=15 b=20 c=4 msgbox(“最大数

21、是:”&maxnum(a,b,c)Function maxnum(x,y,z)dim max if xy then max=x else max=y end if if zmax then max=z maxnum=max End Function,49,3.9 VBScript过程,三、变量的作用域定义指变量的有效范围,变量的作用域由它声明或出现的位置决定分类局部变量全局变量 例21 变量作用域示例:,局部变量是在过程内部声明或出现的变量,其作用域仅局限于定义它的过程,只在该过程内有效,离开相应过程,变量会失效而变为空。,全局变量是在过程外部声明或出现的变量,其作用域为当前整个ASP网页,在

22、当前网页的各个脚本程序块内有效。,50,3.10 VBScript的内置函数,一.字符串函数 二.数学函数 三.转换函数 四.日期和时间函数 五.检验函数 六.数组相关的函数,51,3.10 内置函数一.字符串函数,52,3.10 字符串函数举例,x=一二三四五六七八九十/一个汉字长度为1document.write len(x)&for i=16 to 87/显示各区汉字x=for j=1 to 94x=x&chr(160+i)*256+160+j)/在Unicode码中(双字节),一个汉字只占一个字符位if j mod 20=0 then x=x&nextdocument.write x&

23、next,53,3.10 内置函数二.数学函数,54,产生随机数,例22 产生五个1100之间的随机整数。Rnd函数产生5个1-100的随机整数 for i=1 to 5 randomize document.write Int(Rnd*100+1)&next,55,3.10 内置函数三.转换函数,56,3.10 内置函数四.日期和时间函数,57,利用日期时间函数求日期或时间,例23 日期时间函数示例。时期时间函数 document.write 现在是:&now()&document.write 今天的日期是:&date()&document.write 现在的时间是:&time()&docu

24、ment.write 今天是:&year(date)&年&month(date)&月&day(date)&日&document.write 现在是&hour(now)&时&minute(now)&分&second(now)&秒&document.write 今天的星期代号是:&weekday(date)&document.write 今天是:&weekdayname(weekday(date)&document.write 到五一节还有&datediff(d,date,#2006-5-1#)&天&,58,3.10 内置函数五.检验函数,59,例24 用IsNumeric函数判断一个变量中的数据

25、是否由数字组成。IsNumeric函数检验变量中的值是否数字 dim myvar myvar=53 mycheck=IsNumeric(myvar)MsgBox mycheck 显示True myvar=459.95 mycheck=IsNumeric(myvar)MsgBox mycheck 显示True myvar=45Help mycheck=IsNumeric(myvar)MsgBox mycheck 显示False,60,3.10 内置函数六.数组相关的函数,61,例25 数组相关函数示例。数组相关函数创建一个数组并输出数组中的元素 dim myweek,myday myweek=A

26、rray(Mon,Tue,Wed,Thu,Fri,Sat,Sun)For i=Lbound(myweek)to Ubound(myweek)document.write myweek(&i&)=&myweek(i)&Next,62,JavaScript 有六种数据类型。主要的类型有 number、string、object 以及 Boolean 类型,其他两种类型为 null 和 undefined。变量命名:JavaScript 是一种区分大小写的语言,因此将一个变量命名为 computer 和将其命名为 Computer是不一样的。变量命名规则:1.第一个字符必须是一个字母(大小写均可)、

27、或一个下划线(_)或一个美元符($)。2.后续的字符可以是字母、数字、下划线或美元符。3.变量名称不能是保留字。,补充:了解JavaScript,63,JavaScript所提供的语句分为以下几大类:1、变量声明,赋值语句:var。语法如下:var 变量名称=初始值 例:var computer=32/定义computer是一个变量,且有初值为32。2、函数定义语句:function,return。语法如下:function 函数名称(函数所带的参数)函数执行部分,64,3、选择语句if.else语句完成了程序流程块中分支功能:如果其中的条件成立,则程序执行紧接着条件的语句或语句块;否则程序执

28、行else中的语句或语句块。if(条件)执行语句1 else 执行语句2,65,4、循环语句:for,while,break,continue。for语句的语法如下:for(初始化部分;条件部分;更新部分)执行部分.,66,while语句所控制的循环不断的测试条件,如果条件始终成立,则一直循环,直到条件不再成立。语法如下:while(条件)执行语句.break语句结束当前的各种循环,并执行循环的下一条语句。continue语句结束当前的循环,并马上开始下一个循环。,67,5、对象操作语句:this,newnew语句是一种对象构造器,可以用new语句来定义一个新对象。语法是这样的:新对象名称 n

29、ew 真正的对象名 譬如说,我们可以这样定义一个新的日期对象:var curr new Date(),然后,变量curr就具有了Date对象的属性。this运算符总是指向当前的对象。6.注释语句:/,/*.*/。/这是单行注释/*这可以多行注释.*/,68,客户端脚本用于表单提交,69,嵌入JavaScript脚本方法,指定脚本语言,70,添加 HTML 按钮控件,单击“问候”,71,总结,Vbscript脚本语言的基本数据类型变量和常量的定义与使用四种运算符InputBox函数与MsgBox函数选择结构与循环结构子过程与函数VbScript各类内置函数,72,作业,输入一个年份,判断是否闰年(使用msgbox和inputbox)任意输入一个数,判断是否素数。输入n,求n!购票系统:160cm以上全票,140-159cm半票,139cm以下儿童票。(要求用select case完成)编vbscript程序,在上午(6:0012:00),中午(12:0014:00),下午(14:0018:00),晚上(18:00次日上午6:00)分别进入网页时显示不同欢迎信息和背景颜色。将以上作业链接到你所做的网站中。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号