JavaScript循环结构控制语句(while,for,do...while)的解析

JavaScript循环结构控制语句(while,for,do…while)的解析

循环语句
判断条件,只要满足条件,就会不断的从头到尾重复执行,直到不满足条件时,跳出循环

while (表达式){
当表达式 为true 时,执行语句,为false 不执行
}

循环次数由初始值,条件和变化量来决定
死循环出现的两种情况,1、条件不对,2、没有向条件外运行的过程
while循环有3个重要的部分,1、起始值,2、条件,3、向条件外允许的过程
条件 隐式转换为布尔值,进入循环必须依靠条件,跳出循环时,不一定依靠条件

var i=0,sum=0;
while(1){
if (i===5) break; // break 中断性跳出,满足if 条件 跳出整个循环,不再循环 相当于循环条件内置
sum+=i; // 所以 外层循环可以是死循环
i++;
}

var i=0,sum=0;
while(i++<10){ // continue 主要用于再循环中的连续内容,由需要错过一部分的情况
if (i===5) continue; // continue 遇到continue后,不在执行他后面的代码,跳出本次循环,直接开始下一次循环
sum+=i; // 注:要注意循环变量,不然容易出现死循环
}

同样的循环次数,while 执行起来比 for 更快

document.write(" ") // 在body内写入内容 如果字符串内容是标签,则再body内会直接变成对应标签
documen.write 和 innerHTML 都会重新打开DOM树写入内容,为避免降低效率,不要把他们写在循环结构中

双重循环

     const ROW=10,
           COL=10;
     var i=0,j=0;
     var str="<table>";
         while(i<ROW){
             str+="<tr>";
             j=0;//双重循环时,内部循环需要重置
             while(j<COL){
                 str+="<td>"+i+"*"+j+"="+(i*j)+"</td>";
                 j++;
             }
             str+="</tr>";
             i++;
         }
         str+="</table>";

     document.body.innerHTML=str;

案例:将0-9a-ZA-Z加在数组中:

		var arr=[];
       	var str="09azAZ";
         0-9 48-57
         a-z 97-122
         A-Z  65-90
         console.log(str.charCodeAt(5));//获取第几位字符ascii值

         console.log(String.fromCharCode(98));//将ascii转换为字符

案例:100以内的素数:

var i=2,j=2,bool;
        while(i<100){
            j=2;
            bool=true;
            while(j<i){
                if(i%j===0){
                    bool=false;
                    break;
                }
                j++;
            }
            if(bool) console.log(i);
            i++;
        }

do{ }while() 先执行,再判断,至少执行一次语句
一般会将 进入条件和结束条件都写上,限定进入循环的起始条件和结束循环的条件

for(定义初始变量①;循环条件②;变量变化值④){ // 执行顺序为②③④②③④……
循环语句;③ // 定义初始变量只在进入循环前执行一次 小括号内的分号不可省略
}

①和④内 如果有多个语句内容,可以用逗号分隔开
循环条件如果有多个不能用逗号,只能使用 逻辑与&& 或者 逻辑或 ||
当没有条件时,默认是直接进入语句块,无限循环

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值