05.js-for

for循环

for(循环变量的初始值;循环条件;循环变量的增值){

循环体,就是循环要执行的代码

}

对循环条件的理解,是变量满足循环条件的时候,才会执行 循环体中获得代码

只有循环结束,循环后面的代码才能执行

一、执行过程

  1. 首先判断循环变量的初始值,是否满足循环条件
  2. 如果满足循环条件,则执行循环体中的代码
  3. 循环体中代码执行完毕,然后执行循环变量的增值操作
  4. 判断循环变量的当前值,是否满足循环条件
  5. 在下一次循环中,依次执行 2 3 4 步骤
  6. 直到循环变量的当前值 不满足 循环条件,跳出当前循环
let sum=0;
for(let a=0;a<5;a++){
    sum+=a;
}
console.log(sum);

100内的偶数和


//方法1
let sum1=0;
for(let n=1;n<=100;n++){
    if(n%2==0){
        sum1+=n;
    }
}
console.log(sum1);
//方法2
let sum2=0;
for(let m=0;m<=100;m+=2){
        sum2+=m;
}
console.log(sum2);
  • continue 当在循环体中执行continue之后,他后面的所有代码都不执行,直接跳出当前循环,执行下一次循环
  • break 当在循环体中执行break之后,直接终止当前for循环
for(let m=0;m<5;m++){
    if(m%2==0){
        continue;//停止当前一次循环,直接进入下一次循环
    }
    console.log(m);
}
// break
for(let m=1;m<10;m++){
    if(m%3==0){
        break;//终止当前for循环
    }
    console.log(m);
}

创建两个input 输入两个数 求最大公约数

数字1:<input type="number" id="inp1">
数字2:<input type="number" id="inp2">
<button id="btn">求两个数的最大公约数1</button>
<button id="btn1">求两个数的最大公约数2</button>
最大公约数:<input type="number" id="inp3">
let inp1=document.getElementById('inp1');
let inp2=document.getElementById('inp2');
let inp3=document.getElementById('inp3');
let btn=document.getElementById('btn');
let btn1=document.getElementById('btn1');

//方法1
btn.onclick=function(){
    let v1=Number(inp1.value);
    let v2=Number(inp2.value);
    //console.time('') 测试运行时间
    console.time('时间');
    let v=0;
    for (let n=1;n<=v1&&n<=v2;n++) {
        if(v1%n==0&&v2%n==0){
            console.log(n);
            v=n;
        }
    }
    inp3.value= v;
    console.timeEnd('时间');
};
//方法2
btn1.onclick=function(){
    let v1=Number(inp1.value);
    let v2=Number(inp2.value);
    //求出最小值
    let min = v1>v2?v2:v1;
    for(let n=min;n>=0;n--){
        if(v1%n==0&&v2%n==0){
            inp3.value=n;
            console.log('最大公约数:'+n);
            break;
        }
    }
}

二、奇葩for循环

  1. 正常for循环的写法

    for(let i=0;i<10;i++){
        console.log(i);
    }
    
    
  2. 没有初始值

    let k=0
    for(;k<10;k++){
        console.log(k);
    }
    
  3. 没有初始值和判断是否满足循环条件

    如果 for 循环中没有判断条件,那么他的判断条件在循环体内部,并且需要开发者手动书写跳出循环的操作,因此不会主动跳出循环

    let m=0;
    for(;;m++){
        //code
        if(m<10){
            console.log(m);
        }else{
            break;
        }
    }
    
  4. 没有初始值,没有判断条件,没有递增

    let n=0;
    for(;;){
        if(n<10){
            console.log(n);
            n++;//递增
        }else{
            break;
        }
    }
    
  5. 判断条件具有多个

    如下,具有i<6,j<20 两个条件,那么只有最后一个条件起到了判断条件的作用,其他判断条件作废

    for(let i=0,j=0;i<6,j<20;i++,j++){
        sum=i+j;
    }
    

三、循环嵌套

//外层控制的是行
for(let i=0;i<5;i++){
    //内层控制的是列
    for(let k=0;k<=i;k++){
        document.write(k);
    }
    document.write('<br/>');
}
// 99乘法表
document.write('<table border=1 width="600">')
    for(let i=1;i<=9;i++){
        document.write('<tr>');   
            for(let j=1;j<=9;j++){
            if(j<=i){
                document.write('<td>'+i+'x'+j+'='+i*j+'</td>');
                }
            else{
                document.write('<td></td>');
            }
        } 
        document.write('</tr>');
    }
document.write('</table>')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值