JavaScript的流程控制语法基本与Java类似。当控制语句部分只有一句时,{}可以省略。
if (条件) { ...... } else if (条件) { ...... } else { ...... }
if (n < 10) { alert("SMALL"); }
if (n < 10) { alert("SMALL"); } else { alert("BIG"); }
if (n < 10) { alert("SMALL"); } else if (n > 20) { alert("BIG"); } else { alert("NORMAL"); }
switch (表达式) { case 表达式的值1: ... break; case 表达式的值2: ... break; default: ... break; }
switch (xx) { case 1: alert("ONE"); break; case 2: alert("TWO"); break; case 3: case 4: alert("THREEorFOUR"); break; default: alert("OTHER"); break; }
while (条件) { ...... }
n = 0; while (n < 10) { document.write(n); n++; }
do { ...... } while (条件)
n = 0; do { document.write(n); n++; } while (n < 10);
for (初始条件; 终止条件; 条件改变语句) { ...... }
for (i = 0; i < 10; i++) { document.write(i); }
for (variable in array) { //数组的情况下,也可这样使用 ...... }
xx = new Array(3); xx[0] = "A"; xx[1] = "B"; xx[2] = "C"; for (i in xx) { document.write(xx[i]); }
break; //跳到循环结束之后 break label; //跳到循环外的某个标签处
for (i = 0; i < 10; i++) { if (i == 5) { break; } document.write(i); }
abc: for (i = 0; i < 10; i++) { for (j = 0; j < 10; j++) { xx = i * 10 + j; if (xx > 20) { break abc; } document.write(xx + "<br>"); } }
continue; //跳到循环内的开始处 continue label; //跳到某个标签处(循环内外都可以)
for (i = 0; i < 10; i++) { if (i == 5) { continue; } document.write(i); }
abc: for (i = 0; i < 10; i++) { for (j = 0; j < 10; j++) { xx = i * 10 + j; if (xx > 20) { continue abc; } document.write(xx + "<br>"); } }
with (对象) { ...... }
with (document) { write(bgColor); write(fgColor); }