For 循环

for (let i = 0 ; i < 10 ; i++ ) {
    code;
}

/* 
let i = 0 初始化条件 ->只执行一次初始化
当 i=0 时,循环开始
i < 10 判断条件 当不满足此条件时 退出循环
i++ 循环条件,每次“循环体”执行完毕
i 本身产生变化 -> i+=1
*/
For 循环的特殊写法
for(let i=0;i<10; ){
    code;
}
for(let i=0; ; i++){
    code;
}
for(let i=0; ; ){
    code;
}
for( ; ; ){
    code;
}
a. For循环中的 i 可以看作是一个局部变量 (可以在for中使用)
b. 循环条件是可以根据实际情况更改的
c. 当修改循环条件时,要确保循环可以向着终点
d. 开发中,要避免死循环
//打印输出数组中的所有元素
//数组有一个属性 arr.length 长度
//长度:数组中有多少个元素
//注意区分长度和下标
for (let i=0 ; i < arr.length ; i++ ) {
    console.log(arr[i]);
}

//数组中最后一个元素 且不是undefined
console.log(arr[arr.length-1]);


// 找出数组中的最大值
let max;
for (let i = 0; i < arr.length; i++) {
    if (i != 0) {
        max < arr[i] ? max=arr[i] : max;
    } else {
    max = arr[0];
    }
}
console.log(max);


//判断一个数在数组中是否存在,如果存在,返回它的下标
//如果不存在,返回 -1
function findArr(num) {
    for (let i=0;i<arr.length;i++) {
        if (arr[i] == num ) {
            return i;
        }
    }
    return -1;
}
console.log(findArr(100));

For in 循环

let arr = [1,2,3,4,5];
for (let a in arr) {
    //console.log(a); 0 1 2 3 4
    console.log(arr[a]); //1 2 3 4 5
}
能做的事情较少,只能做遍历操作

While 循环

let a = 10; // 初始化条件
while(a < 100){ // 循环判断条件
    console.log(a); //循环体
    a++; // 循环条件
}


/*
    今天我们公司有10个人
    每年公司会以百分之10的比重招人
    哪一年公司人数突破100人
    今年是2022年
*/
let people = 10;
let year = 2022;
while (people <= 100) {
    people *= 1.1;
    year += 1;
    }
console.log(year);
a.初始化条件
b.判断条件
c.执行循环体
d.自增

do...while 循环

let a = 10; // 初始化条件
do { // 做xxx
    console.log(a); // 循环体
    a++; //循环条件
} while (a>100) // 判断

do...while 和 while 的区别

do...while: 先执行一次,再判断,无论条件是否成立,都至少执行一次
while: 如果条件不成立,一次都不执行

总结

while 循环for 循环
初始化条件不好控制每个for循环的初始化条件都是单独的
循环条件不好控制每个for循环的a++都是隔离的
写函数时,返回值便于管理写函数时,返回值不便于管理

死循环:

for ( ; ; ) { }
while ( true ) { }
do { } while ( true );
最后修改:2023 年 01 月 09 日
如果觉得我的文章对你有用,请随意赞赏