《JavaScript教程》04章 基本语法


JavaScript的流程控制语法基本与Java类似。当控制语句部分只有一句时,{}可以省略。

条件分支(if...else...)
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)
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)
while (条件) {
    ......
}
n = 0;
while (n < 10) {
    document.write(n);
    n++;
}

循环(do)
do {
    ......
} while (条件)
n = 0;
do {
    document.write(n);
    n++;
} while (n < 10);

循环(for)
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;          //跳到循环结束之后
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;          //跳到循环内的开始处
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 (对象) {
    ......
}
with (document) {
    write(bgColor); write(fgColor);
}