流程控制
JavaScript通过流程语句来执行程序流,程序流有若干语句组成。在正常情况下,程序中 的语句时按照书写顺序执行的,这种结构称为顺序结构。除了顺序结构之外还有选择结构和循环结构。
1.选择结构
(1)if-else语句
语法:
if(condition){ statementS; }else{ statements; }
(2)if-else if-else语句
语法:
if(condition){ statementS; }else if{ statements; } …… else{ statements; }
例如:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head> <meta charset="GB2312"> <title>选择结构</title> <script language="JavaScript"> function max() { var fist=parseInt(form1.fist.value); var secod=parseInt(form1.secod.value); if(isNaN(fist)){ alert("第一个数不是数值类型"); form1.fist.value=""; } else if (isNaN(secod)) { alert("第二个数不是数值类型"); form1.secod.value=""; }else{ var max=(fist>=secod?fist:secod); document.write("两个数之间较大的数为:"+max); } } </script> </head> <body> <form name="form1"> 请输入第一个数(数值型): <input type="text" name="fist" /> <br> 请输入第二个数(数值型): <input type="text" name="secod" /> <br> <input type="button" ONCLICK="max()" value="选择较大值" /> <input type="reset" value="重填" /> </form> </body> </html>
(3)switch语句([ ]中为可选)
语法:
switch(expression){ case value1: statement; break; case value2: statement2; break; …… case valueN; statementN; break; [defalut: defalutStatements;] }
例如:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"" <html> <head> <meta charset="GB2312"> <title>switch语句</title> </head> <body> <script language="JavaScript"> var day= new Date().getDay(); switch (day){ case 0: title="今天是星期日"; break; case 1: title="今天是星期一"; break; case 2: title="今天是星期二"; break; case 3: title="今天是星期三"; break; case 4: title="今天是星期四"; break; case 5: title="今天是星期五"; break; case 6: title="今天是星期六"; break; } document.write(title); </script> </body> </html>
2.循环语句
(1)for循环(循环次数已知的循环)
语法:
for(inintal-condition;conditin;increment){ statements; }
例子:
输出九九乘法表
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>循环结构</title> </head> <body> <font size="-1" color="blue"> <script language="JavaScript"> var i,j; for(i=1;i<=10;i++){ for(j=1;j<=i;j++){ document.write(j+"*"+i+"="+i*j); document.write(" "); } document.write("<br>"); } </script> </font> </body> </html>
(2)for-in语句(通常用来遍历数组)
语法:
for(elements in object){ statement; }
例如:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta charset="GB2312"> <title>for-in</title> </head> <body> <script language="JavaScript"> var student=new Object(); student.name="王明明"; student.no="20120156"; student.addreess="山东济南"; for(e in student){ document.write(e+":"+student[e]+"<br>"); } </script> </body> </html>
(3)while语句(次数未知的循环)
语法:
while(condition){ statement; }
例如:
输出1-100中3的倍数
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta charset="GB2312"> <title>while循环</title> </head> <body> <script language="JavaScript"> var i=1; while(i<100){ if(i%3==0){ document.write(i+" "); } i++; } </script> </body> </html>
(4)do-while语句(该语句最少执行一次)
语法:
do{ statement; } while(conditions);
例如:
计算1-100的和
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta charset="GB2312"> <title>do-while语句</title> </head> <body> <script language="JavaScript"> var i = 1; var num = 0; do { sum+=i; i++ }while(i<=100); document.write("1-100的和是:"+sum); </script> </body> </html>
转移语句
(1)break语句
break语句用于switch语句和for语句等循环语句中。用来中止switch语句,执行switch语句后的语句。
(2)continue语句
continue语句用于for,while,do-while,for-in语句中,用来结束本次循环,执行下一次循环,一般与if语句一起使用。
(3)return语句
return语句一般在函数中使用,可以使用return语句表达式的格式返回任意类型的函数值,返回的函数值可以用变量接受。
总结: