首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JS流程控制语句

所谓的流程控制就是控制代码的执行顺序。

流程语句分类:

顺序结构: 按照定义的顺序,从上到下依次执行。

分支结构: 根据不同的情况,执行分支代码

循环结构: 重复做某一件事情

分支结构

if语句

分类:

单分支

双分支

多分支

语法:

单分支

双分支

多分支

案例

单分支

var age = 20;

if(age >= 18){

   console.log('你成年了')

}

双分支:判断是否成年

var age = 20;

if(age >= 18){

   console.log('成年了')

}else {

   console.log('未成年')

}

多分支:输入数字打印对应星期

var week = 1;

if(week === 1){

   console.log('星期一')

}else if(week === 2) {

   console.log('星期二')

}else if(week === 3) {

   console.log('星期三')

}else {

   console.log('不是星期一、二、三')

}

switch多分支语句

语法格式:

常量就是固定值

switch (条件表达式) {

 case 常量1:

   // 语句1;

   break;

 case 常量2:

   // 语句2;

   break;

 case 常量3:

   // 语句3;

   break;

 case 常量n:

   // 语句n;

   break;

 default:

   // 上面都不成立 执行这里语句;

   break;

}

注意:

switch 语句在比较值时使用的是全等运算符(===)

break代表跳出的意思,如果省略,代码会继续匹配下一个case

switch语句它在功能上和if多分支语句很相似

如果是范围的判断只能使用if多分支语句

如果是固定值之间的判断, 推荐使用switch语句,更加直观点。

// 多分支:输入数字打印对应星期

       // var week = 6

       // if (week === 1) {

       //     console.log('今天是星期一');

       // } else if (week === 2) {

       //     console.log('今天是星期二');

       // } else if (week === 3) {

       //     console.log('今天是星期三');

       // } else if (week === 4) {

       //     console.log('今天是星期四');

       // } else if (week === 5) {

       //     console.log('今天是星期五');

       // } else {

       //     console.log('今天是周末,非常happy')

       // }

       // switch实现上面的功能

       var week = 1;

       switch (week) {

           case 1:

               console.log('今天是星期一');

               break; // break退出当层循环

           case 2:

               console.log('今天是星期二');

               break;

           case 3:

               console.log('今天是星期三');

               break;

           case 4:

               console.log('今天是星期四');

               break;

           case 5:

               console.log('今天是星期五');

               break;

           default:

               console.log('今天是周末,非常happy')

      }

循环结构

作用:一般多用来做些重复的事情。

比如打印出3句''你好汪哥'', 你可能会这么写:

console.log('你好汪哥')

console.log('你好汪哥')

console.log('你好汪哥')

打印出1-100只羊,你可能会这么做:

可见,如果程序中没有循环语句,会造成大量的重复代码,且后期难以维护。

而循环语句就是用来解决此类问题的。

Javascript中,循环语句有三种:

for循环

while

do..while。

for语句

for循环语法:

for (1初始化变量; 2条件表达式; 3自增/自减表达式) {

 // 4代码体

}

执行规则:

先执行1,如果2成立,则执行43, 然后重复执行 243-243-243,

若2不成立, 则停止循环

示例代码:

for(var i = 0; i < 3; i++){

 console.log('你好世界')

}

for (var j = 3; j > 0; j--) {

 console.log('你好中国')

}while循环语句

基本语法:

// 当循环条件为真值时,才执行代码体,

while (条件表达式) {

 // 代码体

}

代码示例:

// 打印10个hello

var i = 1;  // 循环的初始变量 为了控制循环的次数

while(i

console.log('hello');

i++; // 改变变量i的值

}

案例:打印1~10之间的数

//打印1~10之间的数 循环10次

var i = 1;

while(i

   console.log(i);

   i++;

}

案例:打印1~100以内的奇数

var i = 1;

while(i

   console.log(i);

   i = i+2;

}

案例:打印100以内所有偶数的和

var i = 1;

var sum = 0; //用于存储每次相加的和

while(i

   if(i % 2 === 0){

       sum = sum +i;

  }

   i++;

}

console.log(sum);

do...while语句

do..while循环和while循环非常像。

但是do..while的特点:先执行一次循环体,再进行判断

while: 先给钱后消费

do-while:  先消费后给钱

语法:

do {

 // 代码体;

} while (条件表达式)

案例:求1+2+3+...+100的和。

// 初始化变量

var i = 1;

// 累加和

var sum = 0;

do {

 sum += i;//循环体

 i++;//自增

} while (i

continue和break

continue: 跳出本次循环,继续下一次循环。

break: 跳出当层循环。

注意:如果有多层循环嵌套,在内层中break,仅会跳出内层循环,外层循环依然照常执行。

break案例: 一共10个馒头,准备要吃第五个时,发现吃不下了,后面的也就不吃了

for(var i=1;i

   if(i == 5){

       break; // 跳出当层for循环

  }

   console.log("吃第"+i+"个馒头");

}

continue案例:一共10个饺子,当看到第五个饺子没熟。这个饺子就不吃了,接着吃剩下的。

for(var i=1;i

    if(i == 5){

        continue; // 继续下一次循环,意味着下面代码不会执行

    }

    console.log("吃第"+i+"个饺子");

}

案例:判断质数

质数条件: 仅能被自身和1整除 。如 2, 3, 5, 7, 11,13、17、19、23、29等都是质数。

如18 就不是质数,因为可以被2 、3、6、9整除

20也不是质数,因为可以被2 、4、5,10整除

var flag = true; // 定义一个标志,假设是质数

       var number = 7;

       for (var i = 2; i < number; i++) {

           // 拿着比7小的数 2 3 4 5 6 依次求余进行判断,余数等于0,说明就不是质数

           if (number % i === 0) {

               // console.log(number + '不是质数')

               flag = false;

               break; // 发现不是质数,后面就没有必要在循环了,可以提高速度

          }

      }

       if (flag) {

           console.log(number + '是质数')

      } else {

           console.log(number + '不是质数')

      }

理解双层循环(套娃)

需求: 围着操场跑步,跑3圈,每跑一圈喝2口水

// 需求: 围着操场跑步,跑3圈,每跑一圈喝2口水。

for (var i = 1; i

   console.log('跑第' + i + '圈')

   for (var j = 1; j

       console.log('喝' + j + '口水')

  }

}

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230525A000AE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券