Javascript条件语句有以下几种:
单项条件结构 (if条件语句)
双向条件结构 (if...else条件语句)
多项条件结构 (switch条件语句)
单项条件结构 (if条件语句)
Javascript 循环语句有以下几种:
在循环的开头测试表达式 (while 循环语句)
在循环的末尾测试表达式 (do...while 循环语句)
对对象的每个属性都进行操作 (for...in 循环语句)
由计数器控制的循环 (for 循环语句)
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>
使用 for 循环语句
for 循环语句指定了一个计数器变量,一个测试条件,和更新计数器的行为。
每次循环重复之前,都要测试条件。如果测试成功,则执行循环内的代码;如果测试不成功,则不执行循环内的代码,而是执行紧跟在循环后的第一行代码。当执行该循环时,计数器变量在下次重复循环前被更新。
如果循环条件一直不满足,则永不执行该循环。如果条件一直满足,则会导致无限循环。前一种,在某种情况下是需要的,但是后一种,基本不应发生,所以写循环条件时一定要注意。
for 循环语句示例代码:
<html>
<head><title>一个使用到for循环的Javascript示例</title></head>
<body>
<p>
<script type="text/javascript">
for (i = 0; i <= 5; i++)
{
document.write(i)
document.write("<br>")
}
</script>
</p>
</body>
</html>
演示 for 循环语句示例
使用 for...in 循环语句
Javascript 提供了一种特别的循环方式来遍历一个对象的所有用户定义的属性或者一个数组的所有元素。for...in 循环中的循环计数器是一个字符串,而不是数字。它包含了当前属性的名称或者表示当前数组元素的下标。
for...in 循环语句示例代码:
<html>
<head><title>一个使用到for...in循环的Javascript示例</title></head>
<body>
<script type="text/javascript">
// 创建一个对象 myObject 以及三个属性 sitename, siteurl, sitecontent。
var myObject = new Object();
myObject.sitename = "站长网 站长学院";
myObject.siteurl = "admin5.com/html";
myObject.sitecontent = "网页教程代码图库的中文站点";
//遍历对象的所有属性
for (prop in myObject)
{
document.write("属性 '" + prop + "' 为 " + myObject[prop]);
document.write("<br>");
}
</script>
</body>
</html>
演示 for...in 循环语句示例
使用 while 和 do...while 循环语句
while 循环和 for 循环类似。其不同之处在于, while 循环没有内置的计数器或更新表达式。如果你希望控制语句或语句块的循环执行,不只是通过 “运行该代码 n 次”这样简单的规则,而是需要更复杂的规则,则应该用 while 循环。
注意:由于 while 循环没有显式的内置计数器变量,因此比其它类型的循环更容易产生无限循环。此外,由于不易发现循环条件是在何时何地被更新的,很容易编写一个实际上从不更新条件的 while 循环。因此在编写 while 循环时应特别小心。
while 循环语句示例代码:
<html>
<head><title>一个使用到while循环的Javascript示例</title></head>
<body>
<p>
<script type="text/javascript">
i = 0
while (i <= 5)
{
document.write(i + "<br>")
i++
}
</script>
</p>
</body>
</html>
演示 while 循环语句示例
在 JScript 中还有 do...while 循环与 while 循环相似,不同处在于它总是至少运行一次,因为是在循环的末尾检查条件,而不是在开头。
do...while 循环语句示例:
<html>
<head><title>一个使用到do...while循环的Javascript示例</title></head>
<body>
<p>
<script type="text/javascript">
i = 0
do
{
document.write( i + "<br>")
i++
}
while (i <= 5)
</script>
</body>
</html>
演示 do...while 循环语句示例
使用 break 和 continue 语句
在 Javascript 中,当某些条件得到满足时,用 break 语句来中断一个循环的运行。(请注意,也用 break 语句退出一个 switch 块。参见 Javascript 条件语句)。如果是一个 for 或者 for...in 循环,在更新计数器变量时使用 continue 语句越过余下的代码块而直接跳到循环的下一次重复中。
break 示例代码:
<html>
<head><title>一个用break中断循环的Javascript示例代码</title>
<script type="text/javascript">
function BreakTest(breakpoint){
var i = 0;
var m = 0;
while (i < 100)
{
//当 i 等于breakpoint时,中断循环
if (i == breakpoint)
break;
m=m + i;
i++;
}
return(m);
}
</script>
</head>
<body>
<script type="text/javascript">
//设函数BreakTest参数breakpoint值为23,得到从1加到22的合计。
document.write(BreakTest(23))
</script>
</body>
</html>
演示 break 示例
continue 示例代码:
<html>
<head>
<title>一个用continue跳过后面代码,开始循环的下一次重复的Javascript代码</title>
</head>
<body>
<script type="text/javascript">
//该script代码用来输出1到10之间的奇数。
var x ;
for (x=1; x<10; x++)
{
//如果x被2整除,则跳过后面代码,开始下一次重复;
//如果x不能被2整除,则执行后面代码,输出 x 。
if (x%2==0)
continue;
document.write (x + "<br>");
}
</script>
</body>
</html>