JavaScript深度指南(非常全)-入门学习3

49 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第20天,点击查看活动详情

循环

我们想输出一个0-9的值,用for循环就可以简单的列举出来

    for (var i = 0; i < 10; i++) {
        console.log(i)
    }
       //写法
    //for() {
    // 执行语句
    //}

    //步骤
    //1、声明变量 i = 0
    //2、 if (i < 10) {
    // console.log(i)
    //}
    //3、 i++
    //4、继续执行 if(i < 10) {不满足条件时结束}
    //5、i++

我们改变一下写法,当我们这样写到时候输出一样

    var i = 0;
    for(; i < 10;) {
        console.log(i);
        i++
    }

我们发现这种写法和while的很像,这样就可以将for循环引申到while上面,不过也有一个缺点,当while循环一直是满足条件的话,就会导致成死循环,for也是

    while(i < 10) {
        console.log(i);
        i++
    }
//死循环
 var i = 0;
    while(1) {
        console.log(i);
        i++
    };
    for(; 1;) {
        console.log(i);
        i++
    }

我们不想用中断语句去中断循环的时候,也可以采用语句去执行

    var i = 1;
    for(; i;) {
        console.log(i);
        i++;
    //当i变成11的时候,去停止循环
        if( i == 11) {
        //这样也可以中断,这个相当于break
            i = 0;
        }
    }

接下来写一些案例

从0开始做加法,加到什么时候总和是小于100的

    for (var i = 0; i < 100; i++) {
        sum += i;
        if (sum >= 100) {
            break;
        }
        console.log(i, sum)
    }

100以内的数跳过可以被7整除或个位数是7的数,利用continue跳出当前循环

    for (var i = 0; i <= 100; i++) {
        if (i % 7 == 0 || i % 10 == 7) {
            continue;
        }
    }

可以被4,5,6整除的数

for (var i = 0; i <= 100; i++) {
    if(i % 4 == 0 || i % 5 == 0 || i % 6 == 0) {
        console.log(i)
    }
}

打印 0-100的数,()只能有一句,不能写比较,{} 不能出现i++ i--

  var i = 100;
    for (; i--;) {
        console.log(i)
    }

10的N次方

  var n = 5;
  var num = 1;
  for(var i = 0; i < n; i++) {
    num *= 10  
  }

n的阶乘

var n = 5;
var num = 1;
for(var i = 1; i <= n; i++) {
    num *= i;
}