循环语句
for
语法:for (initialization; expression; post-loop-expression) statement
initialization
表示:初始化表达式expression
表示:控制表达式post-loop-expression
表示:循环后表达式 (一般是自加或自减)- 三者都是可选的
执行过程:首先初始化,之后进行循环的判断,再进行循环体的代码,再进行循环后表达式,再进行循环判断,再进行循环体代码,再进行循环后表达式,再进行循环判断…
示例1:在页面中输出一个十行十列的五角星
for (var j = 1; j <= 10; j++) {
document.write('<br>');
for (var i = 1; i <= 10; i++) {
document.write('☆');
}
}
示例2:在页面中输出一个直角等腰的三角形
for (var j = 1; j <= 10; j++) {
for (var i = 1; i <= j; i++) {
document.write('☆');
}
document.write('<br>');
}
示例3:打印九九乘法表
for (var j = 1; j < 10; j++) {
for (var i = 1; i <= j; i++) {
document.write(i + '*' + j + '=' + i * j + ' ');
}
document.write('<br>');
}
while
语法:while(expression){statement}
先执行判断expression
再执行循环体statement
do…while
语法:do {statement} while(expression)
先执行循环体statement
再执行判断expression
示例:
输入任意正整数,求它的位数
var num = prompt('请输入一个正整数');
var i = 1;
while (num >= 10) {
i++;
num = parseInt(num / 10);
}
;
console.log(i);
输入任意整数,翻转输出这个数的每个数字
var num = prompt('请输入一个正整数');
do {
console.log(num % 10);
num = parseInt(num / 10);
} while (num != 0)
continue
立即退出当前循环,但退出循环后会从循环的顶部继续执行
break
立即退出循环,执行循环后的语句
标签
JS语言允许语句的前面有标签,相当于定位符。用于跳转到程序的任意位置。标签的格式如下:
label:
语句
标签通常与break
和continue
配合,跳出特定的循环。
top:
for (var i = 0; i < 3; i++) {
for (var j = 0; j < 3; j++) {
if (i === 1 && j === 1) {
break top;
}
console.log('i=' + i + ',j=' + j);
}
}
//i=0,j=0
//i=0,j=1
//i=0,j=2
//i=1,j=0
上面代码是双层循环,break
后加了top
标签。满足条件时跳出了双层循环。如果break
语句后不使用标签,则只能跳出内层循环,进入下一次的外层循环。
top:
for (var i = 0; i < 3; i++) {
for (var j = 0; j < 3; j++) {
if (i === 1 && j === 1) {
continue top;
}
console.log('i=' + i + ',j=' + j);
}
}
//i=0,j=0
//i=0,j=1
//i=0,j=2
//i=1,j=0
//i=2,j=0
//i=2,j=1
//i=2,j=2
上面代码中,continue
命令后有一个标签名,满足条件时会跳出当前循环,直接进入下一轮外层循环。如果不使用标签,则只能进入下一轮的内层循环。