版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章脚本语言网络技术与应用脚本语言是一种简单的描述性语言,它的语法结构与计算机的其它高级语言极为相似,所以相对于其它的Web编程技术来说,它简单实用。在Web发展的早期,浏览器只能浏览静态的网页,无任何动态效果。脚本语言的出现较好地解决了Web页的动态交互问题。但用脚本语言所写的程序本身不能直接运行,而是将这种程序嵌入在HTML中,通过编程对Web页元素进行控制,从而实现Web页的动态化和交互式。常用的脚本语言有VBScript和JsvaScript。引言例子自己编写一个网页,网页中显示以下内容“欢迎来到我的网站,今天是×年×月×日,现在是×时×分×秒。”再来看别人写的网页
7.1网络程序设计基础
7.2VBScript语言7.3JavaScript语言本章内容7.1网络程序设计基础
为了适应网络技术的发展与应用,产生了动态Web技术和ASP技术。7.1.1常用网络程序设计技术7.1.2ASP程序设计简介7.1.3脚本语言7.1.1常用网络程序设计技术
1、Web工作模式B/S(Browser/Server,浏览器-服务器)模式:通过客户机的浏览器与向服务器提出请求,然后由服务器的应用程序根据客户机的请求,运行相应的程序。优点:网络应用程序全部放在服务器上,客户机只需一个标准的WWW浏览器软件。C/S(Client/Server,客户机-服务器)模式:同时编写客户机和服务器两端的应用程序,客户机需要运行特定的应用程序才能访问服务器。在Web中,凡是提供服务的一端称为服务器端,接受服务的一端称为客户端,当浏览某网站主页时,网站主页所在的服务器就称为服务器端,而我们自己使用的计算机就称为客户端。但这种概念不是绝对的,当我们自己的计算机也安装了服务器软件的时候,就可以把自己的计算机当作服务器,别人也可以访问,此时,它就是服务器了。在编写网页调试程序时,可以把自己的计算机既当服务器端,又当客户端。
客户机与服务器使用HTTP协议传送信息,信息的基本单位是网页,当客户选择网页中的一个超链接时,Web服务器就把超链接所附的地址读出来,然后向数据库服务器发送一个请求,要求相应的文件,最后服务器对此做出响应,将超文本传送给客户机。2、主要的网络程序设计语言主要的网络程序设计语言有ASP、PHP、JSP和ASP.NET等。前三者一般将脚本语言嵌入到HTML文档中。特点:
ASP学习简单,使用方便;
PHP软件免费,运行成本低;
JSP多平台支持,移植方便;
ASP.NET运行效率更高,但技术过于 复杂,不太容易接受。(1)ASPASP(ActiveServerPages,活动服务器页面)是微软公司1996.11推出的Web应用程序开发技术。是一个位于服务器端的脚本运行环境,利用ASP,可以混合使用HTML、脚本语言以及组件来创建服务器端功能强大的Internet应用程序。ASP提供了一些内建对象,利用这些对象,通过简单的编程就能获得功能强大的脚本。还可以用另外的组件来扩展ASP的功能。总之,ASP是网页开发技术中最容易学习、灵活性最大的开发工具之一,更重要的是ASP拥有非常大的可扩充性。ASP具有以下特点:①
ASP可以和HTML或其他脚本语言(VBScript与JavaScript)相互嵌套。②无须编译,容易编写,可在服务器端直接执行。③ASP是一种在Web服务器端运行的脚本语言,程序代码完全保密。④
ASP以对象为基础,可以使用ActiveX控件继续扩充其功能。⑤ASP内置ADO组件,可以轻松地存取各种数据库,缩短程序的开发时间。⑥
ASP可以将运行结果以HTML的格式传送到客户端浏览器,适用于各种浏览器。(2)PHPPHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C、Java和Perl语言的语法,并耦合PHP自己的特性,使Web开发者能够快速地写出动态产生页面。它支持目前绝大多数数据库。另外,PHP是完全免费的,可以从PHP官方站点自由下载,而且可以不受限制地获得源码,甚至可以从中加进使用者自己需要的特色。PHP可在Windows、UNIX、Linux的Web服务器上正常执行,还支持IIS、Apache等一般的Web服务器,用户更换平台时,无须变换PHP代码,便可即拿即用。(3)JSPJSP(JavaServerPage)是Sun公司推出的新一代网站开发语言,是基于JavaServlet及整个Java体系的Web开发技术。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。JSP与PHP类似,几乎可以执行于所有平台,而且具有强大的可伸缩性。使用JSP技术,Web开发人员可以使用HTML或XML标识来设计界面,使用JSP标识或者小脚本来生成页面上的动态内容。所有的脚本在服务器端运行。不足之处是安装配置管理较复杂,且运行速度较慢。(4)ASP.NETASP.NET又叫ASP+,但ASP.NET并不仅仅是ASP的简单升级,而是Microsoft公司推出的新一代ActiveServerPages脚本语言,是Microsoft公司开发的新型体系结构.NET的一部分。ASP.NET使代码更加干净,提高了系统的安全性和可靠性,ASP.NET对各种不同的浏览器提供了更好的支持。不过对于初学者来说,ASP.NET技术过于复杂,不太容易接受,所以本书仍然以简单易学的ASP为主介绍网络程序设计技术。7.1.2ASP程序设计简介1.ASP工作原理ASP既不是一种语言,也不是一种开发工具,而是一种技术框架。它能够把HTML、脚本、组件等有机地组合在一起,形成一个能够在服务器上运行的应用程序,并把按客户端请求处理的不含任何ASP代码的普通HTML页面回送给客户端浏览器。ASP运行在服务器端。只要Web服务器安装了IIS(Internet信息服务管理器),就可在服务器上运行ASP程序。ASP要求在客户端安装浏览器即可。浏览器Internet接受请求找到动态网页发送网页运行动态网页,生成静态网页ASP已成为Web应用的重要内容,其工作方式是:HTTP请求HTML文档HTTP请求HTML文档服务器端
有了ASP你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样就减轻了客户端浏览器的负担,大大提高了交互的速度。IIS安装完毕后,会自动生成C:\Inetpub\wwwroot,以后将程序存放在该文件夹下,就可以访问了。(也可修改Web站点的主目录或设置虚拟目录)。
2、运行ASP文件
例如对于文件C:\Inetpub\wwwroot\Lx.asp,可采用以下访问方法:
http://localhost/Lx.asp/Lx.asphttp://计算机的名字/Lx.asphttp://IP地址/Lx.asp如把hello.asp的文件名保存到站点的主目录中,然后在浏览器的地址栏中输入:http://localhost/hello.asp或输入:
/hello.asp即可得到输出结果。<html><head><title>我的第一个ASP程序</title></head><body><%response.write"嗨,大家好!"%></body></html><%和%>是asp的标记符号注意:<%response.write"嗨,大家好!"%>response.write就是显示的意思3、ASP的语法ASP文件(文件名.asp)就是在标准的HTML文档中嵌入了VBScript代码后形成的,而<%与%>符号之间的内容就是VBScript代码。。一个基本的ASP文件由以下几部分组成:(1)普通的HTML文件,也就是普通的Web页面内容。
(2)在服务器端运行的脚本代码,放在<%…%>标记之间。*hy.asp<%@Language="VBScript"%>
<html><body><fontsize=7><%Response.Write"欢迎使用VBScript脚本语言!"%>
</font></body></html>服务器端使用分隔符<%和%>将脚本括起来。例:(3)在客户端运行的脚本代码,放在<Script>…</Script>之间。*hy.htm<html><body><fontsize=6color="blue"face="隶书"><ScriptLanguage="VBScript">.Write"欢迎使用VBScript脚本语言!"</Script></font></body></html>Document注意这里的变化?注意:无论在ASP定界符<%和%>内部,还是在<script></script>标记对之间,不能包含独立的HTML标记。……<%
d1=Hour(time)ifd1<12
then<h1>GoodMorning!</h1>else<h1>GoodAfternoon!</h1>
endif%>错误……<%d1=hour(time)ifd1<12then%><h1>GoodMorning!</h1><%else%><h1>GoodAfternoon!</h1><%endif%>正确<%……%>与<%=……%>的区别符号对<%……%>与符号对<%=……%>的作用是:<%……%>:用来指明脚本的开始和结束<%=……%>:用来显示字符串、变量或函数的值,相当于<%response.write……%>如:<%="欢迎学习ASP"%> 相当于
<%response.write"欢迎学习ASP"%>ASP程序示例<HTML><HEAD><TITLE>SimpleVBScript</TITLE></HEAD><BODY><Palign="center"><fontsize=5color="blue"><b>
今天的日期和时间是:
<%=Now()%><BR>Have
aniceday!</b></font></P>
</BODY></HTML>VBScript函数Now返回当前的系统日期和时间。调试成功ASP的运行环境。编写一个简单页面,在其中显示如下字样:提示:日期date()时间time()全部显示now()调试成功ASP的运行环境。编写一个简单页面,在其中显示如下字样:欢迎您光临我的主页您来访的日期是:2022/12/2<html><body><h2align="center">欢迎光临我的主页</h2><palign="center">您来访的日期是:<%response.writedate()%></body></html><%=date()%>7.1.3脚本语言脚本语言是一种介于高级语言和原型语言之间的编程语言,用它编写的程序本身不能直接执行,需要将这种程序嵌入到HTML中在浏览器中解释执行。常见的脚本语言有VBScript和JavaScript等。
VBScript和JavaScript之间最大的区别就是它们的结构。JavaScript和VBScript的任务是相同的——都是用来编写Web网页。
7.2VBScript语言VBScript脚本语言直接来源于VB(VisualBasic)语言,继承了VB语言的简单易学的特点。VBScript不能用来编写单独的应用程序,它必须嵌入到HTML页面中去。一般的ASP程序都是将VBScript代码放在服务器端执行,此时有两种方法:<%VBScript代码%> <ScriptLanguage=VBScriptRunat=Server>VBScript代码</Script>或:
服务器端脚本语言默认是VBScript,如果为了某种需要必须采用JavaScript时,必须在ASP文件的任何一句命令之前加如下代码:
<%@language="JavaScript"%>
或使用<scriptlanguage="Javascript"runat="server">
客户端运行的脚本被写在<script></script>标记内,由客户端浏览器解释执行。客户端脚本语言默认的是JavaScript。也可以将VBScript代码放在客户端执行,语法如下:
<Scriptlanguage=VBScript>VBScript代码
</script>
在服务器端运行的程序文件要保存为.asp文件,服务器把在服务器端执行的结果传送回客户端显示。
而在客户端运行的程序文件即可以保存为.asp文件,也可以保存为.htm文件直接在客户端执行。VBScript代码置于何处VBScript脚本代码可以写在:网页的<head></head>里网页的<body></body>里
VBScript可以放在网页的任何地方(Body或Head)中。不过最好尽可能将所有的脚本代码放在Head部分里,这样可以让VBScript程序代码先于其他代码被加载执行。但是当脚本代码作为对象的事件代码时,可以就近放在对象附近。<html><head> <title>一个简单的ASP程序</title></head><body>这是个<%ForI=1To7%>非常, <%Next%>非常长的句子</body></html>该程序在服务器端执行<%ForI=1To7
response.write"非常,"Next%><html><head><title>一个简单的脚本程序</title></head><body>这是个<Scriptlanguage="VBScript">ForI=1To7
Document.write"非常," Next</Script>非常长的句子。</body></html>该程序在客户端执行<html><head>
<title>一个简单的ASP程序</title></head><body>这是个<%ForI=1To7%><br><fontsize="<%=I%>"
>非常,</font><br><%Next%>非常长的句子</body></html>ASP中读取/打印变量或函数值的形式为<%=i%>337.2.1VBScript基础1、数据类型在VBScript中只有一种数据类型,称为Variant,也叫变体类型。Variant是一种特殊的数据类型,根据不同的使用方式,它可以包含不同的数据类别信息,如字符串、整数、日期等。这种不同的数据类别称为数据子类型。一般来说,Variant变量会将其代表的数据子类型自动转换,但有时候会遇到一些数据类型不匹配造成的错误,这时可以使用相应的转换函数来强制转换数据的子类型。数据子类型 取值范围Byte0到255之间的无符号整数(1个字节)BooleanTRUE或FALSE(布尔型)Integer-32,768到32,767之间的带符号整数(整型)Long-2,147,483,648到2,147,483,647之间的长整型整数Single
负数:-3.402823E38到-1.401298E-45(单精度浮点型)
正数:1.401298E-45到3.402823E38Double
负数:-1.79769313486232E308到-4.94065645841247E-324
(双精度)正数:4.94065645841247E-324到1.7976931348623eE308Currency-922,337,203,685,477.5808到922,337,203,685,477.5807Date100年1月1日到9999年12月31日(日期型)object
用4个字节存储程序所能识别的任何对象(对象型)string
变长字符串,长度从0个字符到大约20亿个字符2.VBScript常量
常量就是拥有一定名字的数值,常量可以代表字符串、数字、日期等常数,常量一经定义以后,其值将不能再更改。声明常量用Const语句,如:
<%ConstPI=3.1415926Conststring1="济南大学"ConstD=#2007-03-20#%>
声明后就可以直接使用它们的名字调用这些常量。注意必须分行书写;字符串放在引号中;日期和时间文字包含在#号间。常量名字可以取字母、数字或下划线等字符,但第一个字符必须是英文字母,且中间不得有标点符号和运算符号,长度也不能超过255个字符。常量名字不得使用语言保留字,如Dim、Sub、End等VBScript保留使用的字符串。名字要做到“见名知义”,即让人一看到这个常量,就大体知道它是什么意思。常量的命名规则3、VBScript变量
变量,是存储信息的地方,变量是内存中的一个地址。变量的值可以发生变化。变量名的命名规则与常量的命名规则相同。变量赋值:变量放在赋值号“=”的左边,要赋的值放在右边:变量名=表达式例如:<%myvar=2006%><%myvar="2006"%><%myvar
="济南大学"%><%myvar=20.01%><%myvar=#8:08:50pm#%><%
A=10+20*3B="中国"%>
【例7.1】VBScript变量应用<html><head><title>最基本的VBScript</title></head><body><fontsize=6><%a="HelloWorld!"%><%=a%></font></body></html><%a="HelloWorld!"response.writea%>注意事项语句中的字母不区分大小写;凡是用到标点符号的,都在英文状态下输入;普通的html中可以在一行连着写,而asp中语句必须分行写。下面就是错误的:
<%a=2b=3%><%a=2b=3%>变量声明一般来说,使用一个变量之前不需要专门声明,赋值后自动声明;有时为了某种需要,强制变量必须先声明,如果不声明会收到错误信息;
<%OptionExplicit%>
…可以用DIM语句同时声明多个变量,只要把变量名用逗号隔开即可。例:<%Dima,b,c%>用于声明变量
作为ASP的起始语句,必须出现在任何HTML标记或其它VBScript命令之前。<%OPTIONEXPLICIT%><html><head><title>SimpleVBScript</title></head><body>
<%
DIMMyvar1,Myvar2
Myvar1="HelloWorld!"Myvar2="Welcome!"
%><%=Myvar1&Myvar2%></body></html>【例7.2】强制变量必须先声明后使用
如果不声明变量会收到错误信息:MicrosoftVBScript运行时错误变量未定义:'Myvar1'
response.writemyvar1&myvar2%>4、VBScript数组所谓数组,就是存储在内存中的,用来包含数据的一组连续地址的名字。不同的是,这一组连续的地址拥有同一个名字、不同的编号,我们只要根据编号就可以找到这个地址,找到这个数据。定义一个数组就相当于定义了多个变量。数组的命名、声明和赋值同变量基本上是一样的,只不过数组要声明它所包含的数据元素的个数(也就是数组的长度)。<%
Dima(3)
a(0)=5
a(1)=10a(2)=20a(3)=a(0)+a(1)+a(2)%>
注意:VBScript中数组的下标从0开始,因此每个数组的元素个数都比声明语句中的数字多1。
在VBScript中,也可以声明多维数组。下面的例子是声明一个3行4列的二维数组:
<%Dimb(2,3)b(1,1)="同学们"b(1,2)="大家好"b(2,3)="同学们好"%>
5、VBScript运算符
VBScript继承了VB的运算符,包括算术运算符、比较运算符、逻辑运算符和连接运算符。见表7-2所示。算术运算符比较运算符逻辑运算符连接运算符符号说明符号说明符号说明符号说明+、-加、减>、>=大于、大于等于NOT逻辑非&字符串连接*、/乘、除<、<=小于、小于等于AND逻辑与+字符串连接\取整除法=、<>等于、不等于OR逻辑或Mod取余Is比较两个对象是否相同^乘方“&”与“+”连接符都可以连接两个字符串,但是,“+”并不保证返回一个字符串。例如:
<%n=1a="1"+"1"b="1"&"1"c="1"+1
d="1"&n%>另外,
“+”可用于数值运算,而“&”只能用于字符串的连接或字符串与变量的连接。如
d
="1"&1或
d=1&1都是错误的,但
d="1"&n
的结果是11。结果为:1111 211
当表达式包含多种运算符时,首先计算算术运算符,然后计算比较运算符,最后计算逻辑运算符。算术运算示例:<%constp=3.1415926dima,b,suma=25b=34sum=a^2+b^2+2*b*pResponse.writesum%>字符串运算示例:<%constmyname="王小红"dimstrstr="欢迎"
&
myname
&"光临"response.write
str%>
补充:定义一个变量a,常量p为3.1415926,然后计算半径为2的圆的面积并显示。<html><title>计算圆面积</title><body><fontsize=6color="blue"face="隶书">
<ScriptLanguage="VBScript"> r=2 constp=3.1415926 s=r*r*p
Document.write"半径为2的圆面积是:"&
s</Script></body></html><HTML><HEAD><TITLE>SimpleVBScript</TITLE><%dimaconstYD=#2011-01-01#
a=YD-date()%></HEAD><BODY><palign=center><b><fontsize=6color="blue">欢迎你,今天是:<%=date%>,时间是:<%=time%><BR>现在离2011年元旦还有<%=a%>天</b></font></p></BODY></HTML>【例】计算并动态显示现在离元旦还有多长时间?7.2.2VBScript函数1、系统函数:VBScript中继承了VisualBasic中的一些函数,可以直接调用。(1)转换函数
CStr(Var) 将变量Var转换为字符串类型
CInt(Var) 将变量Var转换为整数类型
CDate(Var) 将变量Var转换为日期类型例:<%nl=20%>
李明的年龄是<%=Cstr(nl)%>岁
<%d=CDate("2008-5-10")%>(2)
字符串函数
Mid(string,m,n)
从string中的第m个开始取n个字符
Left(string,n)
从string中的左边取n个字符Right(string,n)
从string中的右边取n个字符Trim(string)
去掉string中前后的空格Len(string)
统计string中的字符个数InStr(string1,string2)
测试string1在string2中的位置Ucase(string)
将string中的所有小写字母转为大写Lcase(string)
将string中的所有大写字母转为小写(3)日期和时间函数Date()、Now()、Time()
Year(Date)、Month(Date)、Day(Date)
Hour(Time)、Minute(Time)、Second(Time)、Weekday()(4)数学函数
Abs(Number),Sqr(Number),Sin(Number),Cos(Number),Int(Number)(5)随机函数:Randomize、Rnd()使用函数时要特别注意函数的参数和类型。
常用函数示例<%A=sqr(64) ’求64的平方根B=int(78.65) ’取整,结果为78C0=mid("abcd",2,2) ’从第2个开始取2个字符C1=left("济南大学",2) ’从左边开始取2个字符C2=right("abcd",2) ’从右边开始取2个字符C3=len("abcd"&"济南大学") ’获取字符串的长度C4=Trim("abcd") ’去掉字符串两边的空格D=date() ’求当前的日期T=now() ’求当前的日期和时间%>【随机函数的应用】随机显示图片<html><head><title>群星闪烁</title></head><body><palign="center"><fontsize=7color="blue"><b>世界足球群星谱</font></b>
<%dimnrandomizen=int(rnd*13)%></p><palign="center"><img
src="picture\fb<%=n%>.jpg"></p></body></html>2、自定义函数自定义函数的本质和系统函数是一样的,只不过内容是自己编写的。Function函数的语法为:Function函数名(参数1,参数2,…)
<语句组>EndFuncionFunction函数可以返回值。函数的调用:变量=Function函数名(参数1,参数2,…)函数可以像变量一样引用和参与运算。
形式参数(可选),具体函数调用时需要将实际参数传递给形式参数。定义一个平方和的函数,然后调用这个函数计算两个数的平方和。【例6.3】<%dimm,n,summ=3n=4sum=m^2+n^2Response.write“平方和为”&cstr(sum)%>解题思路正常思路:①
按照顺序写代码dimm,n
②给m,n赋值③求m^2+n^2即可现在把第三步变成自定义的函数:
pingfanghe(m,n)pingfanghe(m,n)<%OptionExplicit'放在程序首行,强制变量声明%><html><head><title>求a和b的平方和示例</title></head><body><%Dimm,n,sum 'm和n为实际参数
m=3n=4sum=pingfanghe(m,n) '调用函数
Response.Write"a和b的平方和是:"&CStr(sum)
Functionpingfanghe(a,b)
'a和b是形式参数
Dimsum sum=a^2+b^2
EndFunction%></body></html>演示pingfanghe=sum
'赋值给函数名,作为函数返回值编写自定义函数的流程function函数名(形参1,形参2,……)
先声明函数中用到的所有变量函数的运算部分
函数名=某个表达式Endfunction自定义函数求圆的面积<html><head><title>自定义函数的使用</title></head><body>
<%
functionarea(r)
dimss=3.14*r^2
area=sendfunction%>
使用自定义函数得到的圆的面积为:<%=area(2)%></html>/求圆面积.asp7.2.3VBScript过程(Sub过程)过程和函数都可以称为VBScript的子程序,两者之间的区别是:Sub子程序只执行程序代码而不返回值,而Function函数可以将执行代码后的结果返回给主程序。
定义Sub过程的语法为:
Sub过程名(参数1,参数2,……)语句组
EndSubSub过程的调用有两种方法:Call过程名(参数1,参数2,……)过程名(参数1,参数2,……)和Function函数一样,参数是可选项。求圆的面积(服务器端运行)<html><head><title>sub函数的使用</title></head><body><%dimmm=2
callarea(m)
subarea(r)dimss=3.14*r^2 "使用sub函数得到的圆的面积为"&sendsub%></body></html>注意这里!response.writeResponse是ASP的内置对象,用于服务器端向客户端的浏览器发送数据。/求圆面积1.asp求圆的面积(客户端运行)<html><head><title>sub函数的使用</title></head><body><scriptlanguage="VBScript">
m=InputBox("请输入圆的半径:","请输入")callarea(m)
subarea(r)s=3.14*r^2 "半径为"&m&"的圆面积是:"&sendsub</script></body></html>快来看这里变了!Document.writeDocument是客户浏览器窗口的文档对象,用于在浏览器窗口输出数据。求圆面积1.htm【例7.4】求a和b的平方和<%OptionExplicit'放在程序首行,强制变量声明%><html><head><title>用SUB函数求a和b的平方和</title></head><body><%Dimm,n 'm和n为实际参数
m=3n=4
Callpingfanghe(m,n) ‘调用子程序,显示结果
Subpingfanghe(a,b) 'a和b是形式参数
Dimsumsum=a^2+b^2
Response.Write
m&"和"&n&"的平方和是:"&sumEndSub%></body></html>演示7.2.4分支语句在一般情况下,程序语句的执行是按照其书写顺序来执行的。前面的代码先执行,后面的代码后执行。但是这种简单的自上而下的单向流程只适于用一些很简单的程序。大多数情况下,需要根据逻辑判断来决定程序代码执行的优先顺序。如用户注册登录时,判断用户填写的信息是否齐全、密码是否正确等等,此时就需要用到条件语句。IF…THEN…ENDIFSELECTCASE1、if-Then-Else语句If···Then···Else语句用于判断条件是true还是false,并根据判断结果指定要运行的语句。通常,条件是使用比较运算符对值或变量进行比较的表达式。
If<条件语句>Then<语句组1>[Else<语句组2>]EndIfElse语句可以省略例:<html><head><title>if语句的使用</title></head><body>
<%ifhour(time)>22then%>
该睡觉了
<%else%>
还可以再看一会儿电视
<%endif%></body></html>分支语句的嵌套
IF...Then...Else语句中的语句组可以包含另外的IF...Then...Else语句,以进行多个条件判断和选择,即形成分支语句的嵌套,使你可以控制基于多种可能的程序流程。if<条件语句1>then<语句组1>elseif<条件语句2>then<语句组2>……else<语句组n>endif【例7.5】根据成绩的取值输出一句评语<%OptionExplicit%><html><body><%DimGradeGrade=86IfGrade>=85Then
Response.Write"你真棒,但不能骄傲啊!"ElseifGrade>=70AndGrade<85Then
Response.Write"还不错,相信下次会更好!"ElseifGrade>=60AndGrade<70Then
Response.Write“不算太好,还需努力哦!"Else
Response.Write"你让我无话可说……"Endif%></body></html>/Li6-5.asp请将该例改为在客户端运行的程序,使用输入和输出框显示信息。Li6-5.htm2、SelectCase(多分支)语句SelectCase语句一般用于多条件处理程序。语法为:
SelectCase条件表达式
Case结果1<语句组1>Case结果2<语句组2>
……Case结果n<语句组n>[CaseElse<语句组n+1>]EndSelect
注意:SelectCase结构只计算开始处的一个表达式(只计算一次),而If...Then...ElseIf结构计算每个ElseIf
语句的表达式,这些表达式可以各不相同。仅当每个ElseIf语句计算的表达式都相同时,才可以使用SelectCase结构代替If...Then...ElseIf
结构。
判断某位同学的成绩,成绩分为A、B、C、D四个档次,若为A,则显示“你很优秀,佩服!”,若为B,则显示“成绩还不错,继续努力吧!”,若为C,则显示“成绩有点差,还需努力!”,否则,则显示“成绩令人汗颜,需要加倍努力!”。【例7.6】根据成绩的取值输出一句评语77【例7.6】根据成绩的取值输出一句评语<%OptionExplicit%><html><head><title>SelectCase语句示例</title></head><body><%DimGradeGrade="B"'这里的Grade的值,一般来说应该是传过来的SelectCase
GradeCase"A"
Response.Write"你很优秀,佩服!"Case"B"
Response.Write"成绩还不错,继续努力吧!"Case"C"
Response.Write"成绩有点差,还需努力!"CaseElse
Response.Write"成绩令人汗颜,需要加倍努力!"EndSelect%></body></html>/Li6-6.asp【应用实例—窗口变色】随机显示网页背景颜色和文本颜色/窗口变色.asp用函数实现改变网页背景和文本的颜色7.2.5循环结构循环用于重复执行一组语句。循环可分为三类:一类按照指定的次数循环,一类在条件变为False之前循环,另一类在条件变为True之前循环。For...Next:指定循环次数,使用计数器重复运行一组语句。
Do...Loop:当(或直到)条件为True时循环。
While...Wend:当条件为True时循环。
ForEach...Next:对于集合中的每项或数组中的每个元素,重复执行一组语句。1、For-Next循环For······Next循环是一种预知型的循环,一般用于将循环语句执行指定的次数。在循环中使用一个计数器变量,每循环一次,让该变量增加或减少,以让循环条件接近最终达到结束值。语法:For变量=初值To终值[Step步长]
循环语句Next
步长默认为1,也可以为正数或负数【例7.7】求1到100的平方和<%OptionExplicit%><html><head><title>For···Next循环语句用法示例</title></head><body><%DimSum,ISum=0
ForI=1to100'从1到100循环
Sum=Sum+I^2Next
Response.Write"1到100的平方和="&
CStr(Sum)
%></body></html>Cstr(数值):将数值转换成字符串的函数思考:如何在1到100之间求偶数或奇数之和。/li6-7
.asp<html><head><title>重复显示一张图片</title></head><body>
<%Fori=1To8%>
<img
src="fj1.jpg">
<%Next%></body></html>
要求用循环语句在网页中连续显示8幅相同的图片,图片名称为fj1.jpg(同一文件夹内)。For-Next循环练习1/lx1.asp用循环语句在网页中连续显示8幅不同图片,图片名称为fj1.jpg~fj8.jpg(同一文件夹内)。<html><head><title>连续显示不同图片</title></head><body><%Fori=1To8%>
<img
src="fj<%=i%>.jpg"><%Next%>
</body></html>/lx2.aspFor-Next循环练习2想一想<HTML><BODY><%forn=1to7%><%=n%><fontsize=<%=n%>color=rgb(30*<%=n%>,0,0)><B>HelloWorld!</B></font><br><%next%></BODY></HTML>For-Next循环练习3/lx3.asp
阅读并思考该程序的功能……2、Do-Loop循环语句Do······Loop是一种条件型的循环,当循环条件为True时,重复执行循环语句。(1)当循环条件为True时,重复执行循环语句语法为:
DoWhile条件循环语句
LoopDo
循环语句LoopWhile条件出口型循环,首先无条件地进入循环执行1次,然后再判断条件是否为True,如果是,继续循环,否则退出循环。入口型循环,它先检查循环条件是否为True,如果为True,则进入循环;Li7-8.htm
求1到100的和(在客户端运行)<html><head><title>DO-LOOP循环示例</title></head><body><scriptlanguage="VBScript">DimSum,ISum=0I=1
DowhileI<=100'从1到100循环
Sum=Sum+II=I+1Loop
Document.Write"1到100的和="&CStr(Sum)</script></body></html>(2)当循环条件变为True之前,重复执行循环语句语法:
DoUntil条件循环语句
Loop
重复执行循环语句直到条件变为True,它的两种形式和上面的一样,也分别是入口和出口型循环。Do
循环语句LoopUntil条件Li7-9.htm求1到100的和(在客户端运行)<html><head><title>DO-LOOP循环示例</title></head><body><scriptlanguage="VBScript">DimSum,ISum=0I=1
DountilI>100'从1到100循环
Sum=Sum+II=I+1Loop
Document.Write"1到100的和="&CStr(Sum)</script></body></html>
Li6-8为:DowhileI<=100
5、退出循环的语句一般情况下,程序都是根据条件判断退出循环,但有时候也需要强行退出循环。在For-Next循环中,用ExitFor语句强行退出循环。在Do-Loop中,跳出循环的指令是ExitDo。补充例题:设有一张足够大的厚度为0.5毫米的纸,问至少折叠多少次可以达到(或超过)珠穆朗玛峰的高度(8844.43米)。让我想想……<html><head><title>退出循环示例</title></head><body><fontsize=6color="blue"face="隶书"><scriptlanguage="VBScript">n=1
hight=0.5
ForI=1to1000
hight=hight*2 '进行一次折叠
IFhight>=8844430Then '纸的厚度≥8844米?
ExitFor '条件成立则退出循环
EndIf
n=n+1Next
Document.Write"珠穆朗玛峰的高度为8844.43米<br>"
Document.Write"纸的折叠次数为"&CStr(n)&"次。"</script></font></body></html>你能猜到结果吗?6、循环嵌套对于较复杂的程序,可以使用多级循环,即在一个循环中包含另一个循环,形成循环的嵌套。允许的循环嵌套不允许的循环交叉循环与条件结构也可以嵌套对比此句代码与课本上的不同<%OptionExplicit%><html><head><title>循环嵌套用法示例</title></head><body><%Dimi,j
Fori=1to9
Forj=1toi
Response.Write
CStr(j)&"*"&CStr(i)&"="&CStr(j*i)&""
Next
Response.Write
"<br>"
Next%></body></html>
【例7.10】在网页上输出九九乘法口诀表/li7-10.asp<html><head><title>显示图形1</title></head><body><%Dimi,j
fori=1to5
forj=1to6
response.write"*"next%>
<br><%next%></body></html>输出如图所示的矩形:******************************【趣味练习1】连续显示一组符号/lx4.asp95<html><head><title>显示图形示例2</title></head><body><%fori=1to9
forj=1toi-1
Response.Write" "
nextfork=1to10-i
Response.Write("@")next%><br><%next%></body></html>【趣味练习2】连续显示一组符号/lx5.asp7.2.6注释语句和容错语句注释语句:<%
rem
注释行%>容错语句当编写的程序发生错误时,程序会自动终止执行,系统会自动给出错误信息。如果不希望出现错误信息。这时就可以使用容错语句:
OnErrorResumeNext(放在程序的开始)或<%'注释行%>7.3JavaScriptJavaScript是客户端默认的脚本语言,它的优势是可以用很少的程序做大量的事情,代码效率高,功能强大。JavaScript是一种基于对象和事件驱动,并具有安全性能的脚本程序语言。使用它的目的是与HTML语言一起实现在web页面中各个对象的访问与链接,实现与web客户的交互作用。从而可以开发客户端的应用程序。JavaScript脚本一般插入在HTML的<SCRIPT>标记中,在IE浏览器中执行。语法如下:
<SCRIPT>……</SCRIPT>JavaScript的语法特点大小写敏感:JavaScript是一种区分大小写的语言,在输入语言关键字、变量、函数名及所有标志符时,都必须采用一致的字符大小写形式。例:跳动的文字.html程序中的标记:在分支、循环、自定义函数中的语句组采用{}符号。可选的分号:JavaScript中的简单语句后,通常都有分号来分割语句。如果语句分别置于不同的行中,可以省去分号,但一行中书写多个语句,语句之间必须用分号隔
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 淮阴师范学院《统计学原理》2022-2023学年第一学期期末试卷
- 黄山学院《Linux操作系统》2021-2022学年期末试卷
- 淮阴师范学院《展示设计》2022-2023学年第一学期期末试卷
- 淮阴师范学院《化工基础》2023-2024学年第一学期期末试卷
- 淮阴工学院《数字图像处理2》2023-2024学年期末试卷
- 淮阴工学院《软件测试与质量保证II》2023-2024学年期末试卷
- DB4403T451-2024食品经营许可远程视频核查指南
- 三年级作文300字各种类型作文大全(30篇)
- 摩托车的行驶稳定性与平衡性考核试卷
- 2021-2022学年六年级上学期期中数学试卷及答案解析
- 跟踪审计服务 投标方案(技术方案)
- (打印)初一英语语法练习题(一)
- 医疗废物的正确处置
- 加利福尼亚批判性思维技能测试后测试卷班附有答案
- 2024年安徽省合肥市瑶海区中考语文一模试卷
- 2024四川泸天化股份有限公司社会招聘笔试参考题库附带答案详解
- 2024届温州高三一模数学试题含答案
- 学校矛盾纠纷排查处理情况登记表
- 冲压工艺绿色化与清洁化生产技术研究
- 4s店防污染应急预案
- 人教版四年级上册三位数乘两位数竖式练习400题及答案
评论
0/150
提交评论