循环语句

循环语句

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:
    语句

标签通常与breakcontinue配合,跳出特定的循环。

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命令后有一个标签名,满足条件时会跳出当前循环,直接进入下一轮外层循环。如果不使用标签,则只能进入下一轮的内层循环。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值