欢迎光临散文网 会员登陆 & 注册

(建议收藏)JS基础入门四 - 流程语句

2020-07-06 17:24 作者:MagnumHou  | 我要投稿

一、条件语句

条件if语句,用来指定符合条件后需要执行的语句,不符合条件不执行。

类似于选择器,选择正确的答案,必须符合题干条件。

条件语句有很多种语法格式,如下:

  • 只有if关键字的条件语句

    if(条件表达式){

    当条件表达式成立的情况下才会执行的语句

    }

    案例:判断一个人的年龄是否满18岁,如果满足了,那么你可以进入网站继续观看暴力电影

代码演示

        满足条件,执行大括号中的语句体;不满足条件,跳出if语句,继续执行if语句后面的代码。

  • 存在 else 的if语句

    if(条件表达式){

         当条件表达式成立的情况下才会执行的语句

    }else{

        条件表达式不成立执行的语句

    }

    案例:判断一个人的年龄是否满18岁,如果满足了,那么你可以进入网站继续观看暴力电影;如果不满18岁,那么请在家长陪同下进行观看。

代码演示

通过观察,不难发现,if...else语句 可以和 三元运算进行转换,如上代码,可以用三元表达式优化,如下:

三元表达式
  • if else存在的多条件判断语句

    if(条件一){

        条件一满足执行的语句体

    }else if(条件二){

        不满足条件一,满足条件二执行的语句体

    }....else if(条件N){

        不满足N之前的条件,满足条件N执行的语句体

    }else{

        以上所有的条件都不满足执行的语句

    }

    思考?假设公司员工可以根据工龄,领取对应的福利商品:满10年的老员工,发红包2万元,购物卡1000元一张;满5年但是不满10年的老员工,发红包8000元,购物卡1000元一张;满3年但是不满5年的老员工,发红包3000元,购物卡800元一张; 满1年但是不满3年的老员工,购物卡1500元一张;不满一年的员工,购物开300元两张。

示例代码

注意:if语句最终只会执行一个满足条件的大括号中的语句

  • 省略大括号的情况

    如果if语句的大括号只有一条语句,那么我们就可以省略大括号。

省略大括号情况

如果有两条执行语句,省略大括号的情况下,直接报错

不能省略大括号情况
多条语句省略大括号报错


二、选择语句

switch语句,这是一个选择语句,根据条件去匹配对应的值,匹配成功,执行这条匹配下的语句。

  • 语法格式

switch(表达式){

case  值1:

语句体1;

break;

case 值2:

语句体2;

break;

......

case 值N:

语句体N;

break;

default:

以上都不满足执行的语句体;

break;

}

注:default 语句可以写在 switch 中的任何位置,都是在 case 值都匹配不到的时候执行,习惯上放到最后。

default也可以省略,当不满足所有case时,不执行任何操作,直接跳出switch。

break是控制语句,打断的意思;这里用来跳出 switch 语句。也就是遇到break 语句就结束了。

需求一:请输入1-7之间的数字,判断今天是星期几

示例代码
  • 变种

    switch 中的表达式书写 true, 在 case 后面去写条件表达式。当 case 后面条件表达式成立,即执行对应的语句体,否则继续向下匹配,直到匹配成功,遇到 break 跳出。

需求三:根据用户输入的性别和年龄,判断用户是否满足结婚年龄(男:23  女:20)

变种示例代码

三、循环语句

生活见到的循环事件有:商场的电梯、传送带、拖拉机传送带、工厂中的机器、驴拉磨。

循环指的其实就是只要符合一定的条件,就会不停的执行某个动作。直到通过外力或者不符合条件后,才会结束循环。

在程序中的循环有三种:while循环、do...while循环、for循环。

3.1 while循环

语法格式:

while(条件表达式){

    当条件表达式成立,执行此循环体

}


需求:循环输出 100 次 “Hello World!!”

示例代码及打印结果

执行顺序:

  1. 先定义表达式需要的变量,并赋初始值 var i = 0;

  2. 判断 while 循环中的表达式 i < 100是否成立

  3. 如果表达式成立,那么执行大括号中的循环体语句

    console.log("Hello World!!");

    并从循环体中,改变控制条件的变量的值  i++

  4. 重复执行第2步、第3步,直到 while 循环中的表达式 i < 100不成立,跳出循环为止

练习:循环输出1-100之间的所有整数(使用while循环实现)

3.2 do...while循环

语法格式

do{

    循环体

}while(条件表达式);

不难发现,do..while 和 while循环最大的区别在于:do...while不管条件是否成立,都会至少执行一次循环。


需求:实现 10 次 “Hello World!” 的控制台输出。

示例代码

解析:

  1. 当 i = 0 时,打印第 1 次 “Hello World!”  打印完成 i 自增变成 1

    1. 改变后的 i = 2  去和10做对比   i = 2 < 10 成立,条件成立,继续执行循环体  打印第 3 次 “Hello World!”  打印完成 i 自增变成 3

    2. .....     5. 改变后的 i = 9  去和10做对比   i = 9 < 10 成立,条件成立,继续执行循环体  打印第 10 次 “Hello World!”  打印完成 i 自增变成10       6. 改变后的 i = 10  去和10做对比   i = 9 == 10 成立,条件不成立,跳出循环

    3. 改变后的 i = 1  去和10做对比   i = 1 < 10 成立,条件成立,继续执行循环体  打印第 2 次 “Hello World!”  打印完成 i 自增变成 2

练习:输出 1 - 100 之间,可以同时被 3  和  7 整除的整数(do...while实现)。

3.3 for循环

语法格式:

for(初始化变量; 条件表达式; 变量操作){

        循环体

}

执行步骤:

  1. 初始化变量

  2. 判断条件表达式是否成立

  3. 条件表达式成立的情况下,执行循环体

  4. 变量的操作

  5. 继续执行第 2、3、4步,直到第 2 步中的条件表达式不成立为止,跳出循环

示例代码

3.4 穷举思想

概述:我们想要得到一组数据,这些数据有特定的场景要求,计算机没有办法帮我们输出这些数据。我们需要人为的去编写一段程序,来实现这个功能:将所有可能符合要求数据,一一的列举出来,然后认为设置限制条件,将符合条件的数据筛选出来,不满足的跳过,继续验证下一个可能符合要求的数据,直到把所有可能的数据都验证一遍。这个方法就叫做穷举法,穷举法也叫全举法。

将可能符合要求的数据,使用for循环进行一一列举(遍历);

在for循环的内部,使用if条件语句对这些可能符合条件的数据,进行一一验证,筛选出真正的符合条件的数据。


代码演示:提示用户输入一个大于0的整数,在控制台输出这个数字所有的约数

示例代码

四、控制语句

一般情况下,我们在执行循环时,只要是满足循环条件,那么循环体就会一直执行下去。

这个时候,我们想要在循环时,达到某种条件时,控制循环的执行,那么就用到控制语句。

控制语句有两个:break  和 continue

  • break  打断、中断。在JS中,可以应用于 switch 语句、循环语句(常见于 for 循环),用来跳出语句或者说是结束语句的执行

    需求:遍历1-10之间的数字,当数字是6的时候,跳出循环;打印结果:1,2,3,4,5

示例代码
控制台打印


  • continue 继续。在JS中,一般应用于循环语句中,用来跳过本次循环继续下一个循环

    需求:遍历1-10之间的数字,当数字是6的时候,跳过本次循环继续下一次循环;打印结果:1,2,3,4,5,7,8,9,10

示例代码
控制台打印
  • 多层嵌套循环下,跳出或跳过指定循环

示例代码
控制台打印


(建议收藏)JS基础入门四 - 流程语句的评论 (共 条)

分享到微博请遵守国家法律