标题标题  显示论坛会员列表名单  搜索论坛搜索  HelpHelp
  注册注册  登入登入
ASP教学区
 DoReMe : ASP教学区
主题 话题: 第九章 JScript 回复发表新主题
作者
贴子内容 << Prev Topic下一个主题 >>
apple
Newbie
Newbie


加入: 2004/11月/25
Online Status: Offline
回复: 14
Posted: 2004/11月/25 1:02下午 | IP记录 引用 apple

使用分支语句(if…then…else)

如果你需要根据某个情况的真假来决定执行哪里一条或哪里一组语句的话,你就得使用分支结构,分支使用任何可返回逻辑值的表达式来作为 它的判断条件。如下面所示:

<%

greeting=「Happy Weekday!」;

mydate= new Date();

if (mydate.getDay()==0) greeting=「Happy Sunday!」;

if (mydate.getDay()==6) greeting=「Happy Saturday!」;

%>

<%=greeting%>

如果今天是星期六或星期天,这个脚本就会输出适当的问候句,否则,脚本就会输出问候Happy Weekday!

注意这个脚本中的两个分支是如何使用的,if语句后紧跟一个由括号包围的表达式,这个表达式必须返回一个布尔值(真或假)。对于 这两个分支,括号中的表达式都完成对当前日期的比较。

还要注意关键字then在JScript分支中没有使用,如果条件是真的,则跟在括号后的一条或一组语句将被执行。下面的例子根 据条件执行一组语句:

<%

greeting=「Happy other day!」;

mydate=new Date();

if (mydate.getDay()==0)

{

greeting=「Happy Sunday!」;

greeting=greeting.bold();

greeting=greeting.italics();

}

%>

<%=greeting%>

在此例中,三条用花括号包含起来的语句只有当今天是星期天时才会执行,这对括号指明了一个分支的开始和结束。

最后,你可在分支中使用关键字else来指定一句或一组语句,当条件为假时执行。如下面的例子:

<%

mydate=new Date();

if (mydate.getDay()==0) greeting=「Happy Sunday!」;

else greeting=「Happy other day!」;

%>

<%=greeting%>

在此例中,多个问候句保证了会取两者中的某一个值。如果今天是星期天,问候句是「Happy Sunday」,否则,问候将是「Happy other day!」。

Back to Top 查看 apple's 资料 搜索其它贴子 apple 访问 apple's
 
apple
Newbie
Newbie


加入: 2004/11月/25
Online Status: Offline
回复: 14
Posted: 2004/11月/25 1:02下午 | IP记录 引用 apple

使用循环(for…next)

如果你要重复执行一句或一组语句特定的次数,你可以使用for…next循环。下面的for…next循环打印10次Hello World!

<%

for (myvar=0; myvar<10; myvar++)

%>

Hello World!

for语句包含三部分,第一部分初始化变量,在此例中,新的变量myvar的初始值是0,第二个部分判断某个条件是否为真,这个 循环当myvar的值小于10时一直在执行。for语句的最后一部分自增myvar变量。

通常你有一组语句需要在for…next循环中执行,要指定一组语句执行,你要用花括号({})将这些语句包含起来。如下面所示 :

<%

for (myvar=0; myvar<10; myvar++)

{

%>

<BR> Hello World!

<BR> How are you today?

<%

}

%>

在此例中,一组HTML语句在浏览器上重复显示10次,注意在这个脚本末尾结束for…next循环的花括号}。

与for…next语句最接近的语句是for…in语句,你可以使用for…in语句来逐个访问数组或对像中的每一个元素。下面 的例子说明了这个语句的用法:

<%

myarray=new Array(「John」,「Paul」,「George」,「Ringo」);

for (myvar in myarray)

{

%>

<%=myarray[myvar]%>

<%

}

%>

这个脚本输出名为myarray的数组中的所有元素的值,对数组中的每个元素,都要执行一遍循环体中的语句。

 

 

 

 

使用while循环

如果当某一特定条件为真时你要执行一条或一组语句,那么你可以使用while循环。while循环只有当条件为真时才执行,来看 下面的脚本:

<%

function ThePresent()

{

var ThePresentTime=new Date();

return ThePresentTime.getTime();

}

TheFutureTime=new Date();

TheFutureTime.setSeconds(TheFutureTime.getSeconds()+15);

TheFuture=TheFutureTime.getTime();

while (ThePresent()<TheFuture)

{

%>

<BR> Waiting for the future…

<%

}

%>

这个脚本反复在屏幕上显示文本Waiting for the future…达15秒(见图9.4)。紧跟在while语句后的语句组不断执行直到括号中包含的条件为假时才停止。在这种情况 下,当现在的时间与启动脚本的时间差在15秒之内时(使用函数不断地刷新当前时间),while循环不断执行。

如果在while语句执行之前,它的条件就是假的,那么while中包括的循环体就不会被执行。也就是说,如果while语句的 条件永远都是真的,则循环就会永远地执行下去。

使用while语句时你要小心不要陷入到死循环中去,如果你不小心建立了一个死循环,也不要担心。要有耐心,在一定时间之后脚本 会自动终止的(通常是90秒)。

注意

你可以使用服务器对象的ScriptTimeOut属性来控制在时间到达之前一个脚本执行多长时间。你可以从第14章「使用单个 ASP」来学习怎样实现这一目的。

 

 

图9.4 Waiting for the future…

Back to Top 查看 apple's 资料 搜索其它贴子 apple 访问 apple's
 
apple
Newbie
Newbie


加入: 2004/11月/25
Online Status: Offline
回复: 14
Posted: 2004/11月/25 1:02下午 | IP记录 引用 apple

指定缺省对像(with)

JScript的面向对像特性导致了许多额外的代码,你在调用一个方法前,你必须指定这个方法的对象。如果你要调用同一个对象的 许多方法,一次又一次的输入这个对象的名字是非常烦琐的。

很幸运,有一个JScript的语句能改变这一局面。使用with语句,你可以为大量的语句指定一个缺省的对象,在这一组语句中 ,你不需要在使用这个对象的方法时指明这个对象的名字。

例如,假设你需要产生三个随机数,通常,你要使用下面所示的脚本来实现这一功能:

<%

myrandom1=Math.random();

myrandom2=Math.random();

myrandom3=Math.random();

%>

如果你将Math对像作为缺省对象,你就不用重复输入这个对象的名字了。下面的例子用with语句重写了这个脚本:

<%

with (Math)

{

myrandom1=random();

myrandom2=random();

myrandom3=random();

}

%>

在这种情况下使用with语句,你将会节省击键次数。如果你在键盘前连续输入几个小时,则会大大地节省你的击键次数。

小结

本章概略地向你介绍了JScript。你学习了怎样使用大部分重要的JScript对象的方法和属性,包括日期、数学、字符串以 及数组对象。你还学习了怎样建立你自己的对象。最后,你学习了怎样使用JScript语句来控制你的脚本的流程。

在读完本章之后,你应当能够在你的Active Server Pages中使用JScript。在本书的第四部分,你将学习怎样控制Active Server Pages的对象和组件。你对JScript的知识将会为你提供建立真正的动态网站的最大的灵活性。

Back to Top 查看 apple's 资料 搜索其它贴子 apple 访问 apple's
 

如果你想回复的话你必须首先 login
如果你还没有注册的话你必须首先 注册

<< 上一页 页 of 2
  回复发表新主题
显示可打印的页面 显示可打印的页面

论坛跳转
不能 张贴新论题在这个讨论版
不能 回应论题在这个讨论版
不能 删除你的发言在这个讨论版
不能 编辑你的发言在这个讨论版
不能 新增投票标题在这个讨论版
不能 在这个讨论版投票

Edit by doreme Forums version 2004
Welcome ©2001-2004 doreme Guide

This page was generated in 0.1875 seconds.

 
保养品
保养品, Skin Care
www.elady.tw
美材批发
美材, Cosmetic
www.elady.tw/beauty_org
保养品批发
名牌保养品、保养品批发
gb.perfume.com.tw/skincare
饰品批发
饰品、饰品批发
gb.perfume.com.tw/ornament