第六天 选择结构
-------------------------------------------
之前我们已经用过了不少的判断语句来告诉计算机下一步应该怎么做,今天我们就来掌握判断语句的应用.我们从最简单的选择判断结构开始.
什么是选择判断呢?
简单的说就如同做一个选择题,如果你选择的项目是对的,那么老师自然会给你划个勾,错的自然就是叉了.同理,选择判断就是要你的程序检查某个条件,如果是真值应该怎么做,如果是假值的时候又应该怎么做.当我们要进行最简单的选择判断即单边判断的时候,我们只需要一个if()就可以达到了.
if(表达式){
返回真值的时候执行的语句
}
在这种结构中,如果返回的值是假的话,那就自动跳出这个结构,但同时也无法执行以后的语句了.虽然我们只需要做出一个选择的时候这个方法很简单,但如果我还想对假值进行操作的话那就远远不够用了.这时候我们就可以用上if()...else语句了.
if(表达式){
返回真值的时候执行的语句
}
else{
返回假值的时候执行的语句
}
下面我们就比较一下两者的用法,下面我建立一个除法计算过程,我们禁止用户输入0给除数,先用if()来判断:
<script language="javascript" type="text/javascript">
<!--
var No1=prompt("输入被除数",10)
var No2=prompt("输入除数",1)
var jie_guo
if(No2!=0){
jie_guo=No1/No2
alert(jie_guo)
}
//-->
</script>
同过上面的我们可以知道在输入不等于0的任何数都可以显示出结果来,你输入0的时候程序就自动结束了,
但我们需要提示用户0是非法数值的时候怎么办呢?我们就用需要用if()..else来判断.
<script language="javascript" type="text/javascript">
<!--
var No1=prompt("输入被除数",10)
var No2=prompt("输入除数",1)
var jie_guo
if(No2!=0){
jie_guo=No1/No2
alert(jie_guo)
}
else{
alert("0是非法数值")
}
//-->
</script>
事实上if()...else和我们前面说的?:非常类似,如果你只做出两个不同选择的时候我们用条件表达式来说明更简单一些.
<script language="javascript" type="text/javascript">
<!--
var No1=prompt("输入被除数",10)
var No2=prompt("输入除数",1)
var No=No1/No2
var jie_guo=No2!=0?alert(No):alert("0是非法输入,是否重新输入")
//-->
</script>
这样结构看上去更简单一些,但如果我们要再进行一次或者几次判断的时候,比如我们看过一些网站上有上午好,中午好,下午好,晚上好的欢迎信息.如果我们用条件表达式来说明,那可以说是繁琐的过程,这时候我们用if()...else的话,思路就一目了然了.
<script language="javascript" type="text/javascript">
<!--
var to_date=new Date()
var to_hours=to_date.getHours()
var xian_shi
if(to_hours<8){
xian_shi="早上好!"
}
else if(to_hours<12){
xian_shi="上午好!"
}
else if(to_hours==12){
xian_shi="中午好!"
}
else if(to_hours<18){
xian_shi="下午好!"
}
else{
xian_shi="晚上好!"
}
alert(xian_shi)
//-->
</script>
我们同过嵌套多个if()...else语句来实现这一效果.我们把这种情况叫做多重判断.这是个简单的例子,但如果是更多的判断的时候我们应该怎么办呢?在这种情况下,我们就需要使用switch()来理清他们的逻辑关系.他的模式如下:
switch(表达式){
case 第一个可能值:
该可能值将运行的语句
break
case 第二个可能值:
该可能值将运行的语句
break
......
default:
在条件和上面例出的都不匹配时,将运行的语句
}
这里也就是给出一系列可能发生的事情,然后一一排除从而得到符合条件的结果.其中break是跳出这个选择的关键词,如果你忘了输入它,那将会自动进行下一个选择值.这里我们来看一段不完全的程序代码,主要是简单的说明switch()怎么用.
<script language="javascript" type="text/javascript">
<!--
var day_month=get_days("一月",2003)
if (day_month!=0){
alert(day_month)
}
function get_days(month_name,yaer_name){
var day_in_month
switch(month_name){
case "一月":
day_in_month=31
break
case "二月":
if(yaer_name%4==0){
day_in_month=29
}
else{
day_in_month=28
}
break
}
return day_in_month
}
//-->
</script>
我们同过day_month这个变量来查询2003年中每个月的天数,我现在假设把get_days的值设为"一月",2003.那么显示的结果就回是31,我们通过对month_name这个变量的值控制来实现选择.这里我们注意到一条在函数内的语句return day_in_month,这里的return是函数返回结果的方法.我们通过一个简单的例子来理解.
<script language="javascript" type="text/javascript">
<!--
var money_total=100
var total_cost
var jie_guo
function str_tip(pre_tip){
var tip_result
tip_result=pre_tip*0.15
return tip_result
}
total_cost=str_tip(money_total)
jie_guo=money_total+total_cost
alert(jie_guo)
//-->
</script>
我们在total_cost=str_tip(money_total)这句中把money_total的值即(100)穿递给了函数str_tip(),也就是使pre_tip=100,通过计算,我们得出结果为115,而return就是用来告诉计算机str_tip(money_total)的结果是115.就象你做数学应用题,最后写上句"答:这个题目的结果是115."
正 文
JavaScript学习从入门到精通
www.7dspace.com 更新日期:2005-8-16 3:13:06 七度空间
上一篇:Meta:HTML设计中的大作用
下一篇:制作主页的五十个秘诀
作者:24CG 来源:eNet网络学院 ( 责任编辑:7dspace )
站 内 搜 索

热 点 导 读

特 别 推 荐
