JS基础:循环结构

循环 for while

for循环

        for (var i=1; i<10; i++){
            document.write(i);
        }
        
		// 其他写法
        for (var n=1; n<10;){
            document.write(n);
            n++;
        }

        var m=1;
        for (; m<10;){
            document.write(m);
            m++;
        }

while循环

        var i = 0;
        while (i < 10){
            document.write(i);
            i++;
        }

do…while循环

		// do...while 至少执行一次
        var i = 0;
        do{
            document.write(i);
            i++;
        }while (i<10);

流程图
在这里插入图片描述

break

  • break 结束当前 for,foreach,while,do-while 或者 switch 结构的执行
  • break 默认会立即终止离它最近的那个循环语句
  • break label 可以结束任何代码块,label 可自定义

break基本用法

        for (var i=0; i<5; i++){
            console.log('@外层循环'+i);
            for (var j=0; j<5; j++){
                console.log(j);
                break;
            }
        }

break label 结束n层循环

        label:
        for (var i=0; i<5; i++){
            console.log('@外层循环'+i);
            for (var j=0; j<5; j++){
                console.log(j);
                break label;
            }
        }

break label 结束结束任何代码块

        label:
        if (1){
            var a = 1;
            break label;
            a+=1;
        }
        console.log(a);     // 1

continue

  • continue 默认可以用来跳过离他最近当次循环,继续下一次循环
  • continue label 跳过第n层循环,只能用于循环

continue基本用法

        for (var i=0; i<5; i++){
            console.log('@外层循环'+i);
            for (var j=0; j<5; j++){
                if (j == 2){
                    continue;
                }
                console.log(j);
            }
        }

continue跳出第n层循环

        label:
        for (var i=0; i<5; i++){
            console.log('@外层循环'+i);
            for (var j=0; j<5; j++){
                if (j == 2){
                    continue label;
                }
                console.log(j);
            }
        }

循环练习题

打印空心金字塔

<?php

/*
▲
▲▲
▲▲▲
*/
for ($i=1; $i<5; $i++){
    for ($j = 0;$j < $i;$j++){
        echo '▲';
    }
    echo '<br>';
}


/*
▲       => 第1层 有1  (2*(层数-1)+1)个
▲▲▲     => 第2层 有3  (2*(层数-1)+1)个
▲▲▲▲▲   => 第3层 有5  (2*(层数-1)+1)个
*/
for ($i = 1; $i <= 5; $i++){
    for ($j=1; $j<=2*($i-1)+1; $j++){
        echo '▲';
    }
    echo '<br>';
}


/*
  ▲     => 第1层 有2  (层数-当前层数)个空格
 ▲▲▲    => 第2层 有1  (层数-当前层数)个空格
▲▲▲▲▲   => 第3层 有0  (层数-当前层数)个空格
*/
$n = 5;
for ($i = 1; $i<=$n; $i++){
    // 打印空格
    for ($k=1; $k<=$n-$i; $k++){
        echo '▼';
    }
    for ($j=1; $j<=2*($i-1)+1; $j++){
        echo '▲';
    }
    echo '<br>';
}

echo '<hr>';

/*
   ▲     
  ▲*▲    
 ▲***▲   
▲▲▲▲▲▲▲
*/
$n = 5;
for ($i = 1; $i<=$n; $i++){
    $num = 1;
    for ($k=1; $k<=$n-$i; $k++){
        echo '▼';
    }
    for ($j=1; $j<=2*($i-1)+1; $j++){

        if ($i>1 && $i<$n){
            if ($num>1 && $num<2*($i-1)+1){
                echo '▼';
            }else{
                echo '▲';
            }
        }else{
            echo '▲';
        }
        $num++;
    }
    echo '<br>';
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值