在一般情况下,程序语句的执行是按照其书写顺序来执行的。前面的代码先执行,后面的代码后执行。但是这种简单的自上而下的单向流程只适于用一些很简单的程序。大多数情况下,需要根据逻辑判断来决定程序代码执行的优先顺序。要改变程序代码执行的先后顺序,任何编程语言都需要用到条件语句和循环语句,Javascript也不例外。
这一节我们主要介绍Javascript条件语句。
Javascript条件语句有以下几种:
- 单项条件结构 (if条件语句)
- 双向条件结构 (if...else条件语句)
- 多项条件结构 (switch条件语句)
单项条件结构 (if条件语句)
If条件语句的语法如下:
if (expression)
{
statement1
}
这句语法的含义是,如果符合expression条件,就执行statement1代码,反之,则不执行statement1代码。
下面的这个Javascript示例就用到了Javascript的if条件语句。首先用.length计算出字符串What's up?的长度,然后使用if语句进行判断,如果该字符串长度<100,就显示"该字符串长度小于100。"。
<html>
<head><title>一个使用到if条件语句的Javascript示例</title></head>
<body>
<script type="text/javascript">
var vText = "What's up?";
var vLen = vText.length;
if (vLen < 100)
{
document.write("<p> 该字符串长度小于100。</p>")
}
</script>
</body>
</html>
双向条件结构 (if...else条件语句)
If...else条件语句的语法如下:
if (expression)
{
statement1
}
else
{
statement2
}
这句语法的含义是,如果符合expression条件,则执行statement1代码,反之,则执行statement2代码。
下面的Javascript示例使用了if...else条件语句判断,如果vHour小于17,显示"日安",反之则显示"晚安"。
<html>
<head><title>使用if...else条件语句的Javascript示例</title></head>
<body>
<script type="text/javascript">
var vDay = new Date()
var vHour = vDay.getHours()
if (vHour < 17)
{
document.write("<b>日安</b>")
}
else
{
document.write("<b>晚安</b>")
}
</script>
</body>
</html>
多项条件结构 (switch条件语句)
Switch条件语句的语法如下:
switch (expression)
{
case label1 :
statement1
break
case label2 :
statement2
break
...
default :
statementdefault
}
这句语法的含义是,如果expression等于label1,则执行statement1代码;如果expression等于label2,则执行statement2代码;以此类推。如果expression不符合任何label,则执行default内的statementdefault代码。 Switch条件语句中的 break,表示 switch 语句结束。如果没有使用一个 break 语句,则多个 label 块被执行。
下面的Javascript示例使用了switch条件语句,根据星期天数的不同,显示不同的话。
<html>
<head><title>使用swith条件语句的Javascript示例</title></head>
<body>
<script type="text/javascript">
var d = new Date()
theDay=d.getDay()
switch (theDay)
{
case 5:
document.write("<b>总算熬到星期五了。</b>")
break
case 6:
document.write("<b>哈哈,周末啦!</b>")
break
case 0:
document.write("<b>明天又要上班,想想就烦。</b>")
break
default:
document.write("<b>每个工作日慢得都象蜗牛爬啊!</b>")
}
</script>
</body>
</html>