Javascript条件语句(Javascript Conditional Statements)

在一般情况下,程序语句的执行是按照其书写顺序来执行的。前面的代码先执行,后面的代码后执行。但是这种简单的自上而下的单向流程只适于用一些很简单的程序。大多数情况下,需要根据逻辑判断来决定程序代码执行的优先顺序。要改变程序代码执行的先后顺序,任何编程语言都需要用到条件语句和循环语句,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>

演示示例