【面向JS--分支结构、循环结构】

程序3种结构:顺序 分支 循环

顺序:除去声明提前,其余代码默认都从上向下顺序执行
分支:根据不同的条件,执行不同的代码
循环:让程序反复执行一段相同代码。

程序的流程控制

程序=数据结构 + 算法
    数据:程序运行过程需要用到的数值
    算法:解决问题的思路
任何复杂的程序都可以通过以下几种结构表示:
    1、顺序结构
        按顺序执行代码,自顶向下执行
    2、选择结构(分支结构)
        根据条件选择某块代码去执行
    3、循环结构
        根据条件选择某块代码反复执行

分支结构

1、什么是分支结构

程序在运行过程中,根据某些条件去选择某些语句去运行

1、当条件满足时,去运行某些语句
    if 结构
2、当条件满足时,去运行某些语句
   当条件不满足时,去运行另外一些一句
    if ... else ... 结构

2、if结构

1 、语法

if(条件){
    //语句块
}

判断条件的结果:    
    如果 结果为真,则执行语句块中的内容
    如果 结果为假,则不执行语句块中的内容

2、注意

1、如果 if条件不是boolean的话,可以自动转换
    以下几种情况会默认转换为false
    if(0){}
    if(0.0)
    if(""){}
    if(null){}
    if(NaN){}
    if(undefined){}
    ===============
    if(25.5){} //真
    if("我很帅吗"){} //真
    if("真假"){} //真
2、if 后的 {}
    if 后的 {} 是可以被省略的,如果省略的话只控制if后的一条语句
    建议:不要省略{}

3、if-else 结构

语法:
    if(条件){
        //语句块1
    }else{
        //语句块2
    }

判断条件:
    条件为真,则执行语句块1
    否则(条件为假),则执行语句块2

4、else … if 结构

语法:

if(条件1){
    //语句块1
}else if(条件2){
    //语句块2
}else if(条件n){
    //语句块n
}else{
    //语句块n+1
}

从上到下依次判断条件,满足哪个条件,则执行哪个语句块,执行完毕后则退出当前的else...if结构
最后的 else 可以省略不写

5、switch-case 结构

1、特点

专门做等值判断

2、语法

switch(变量){
    case 值1:
        语句块1;
        break; //跳出switch结构,可有可无
    case 值2:
        语句块2;
    case 值3:
        语句块3;
        break; //可有可无
    default: //可有可无
        // 以上任何一个case都匹配不上的时候,执行default
        语句块n;
        break; //可有可无
}

3、switch的直落形式

两个或多个case块之间可以省略操作代码

switch(变量){
    case 值1:
        语句块1;
        break; //跳出switch结构,可有可无
    case 值2:
    case 值3:
        语句块3;
        break; //可有可无
}

循环结构

1、什么是循环结构

循环,一遍又一遍的重复执行相同或相似的操作

循环的特点:

1、循环条件
    指定循环重复的次数
    从什么时候开始
    到什么时候结束
2、循环操作
    循环体
    循环中所做的操作,即要执行的代码

2、while 循环结构

1、语法

while(循环条件boolean){
    //循环操作
}

1、判断循环条件
    如果 条件为真 则执行循环体中的操作
    如果 条件为假 则不执行循环体中的操作
2、循环操作
    循环操作完成后,会再次判断循环条件

2、循环的流程控制

循环的流程控制:在循环体内,提前的结束循环结构

1、continue
    作用:终止本次循环的执行,继续执行下次循环
2、break
    作用:退出循环
    场合:不明确循环次数的条件下,结束循环

3、案例

要求用户 先录入数据,判断是否为 exit,如果是exit,则退出,否则在控制台上打印信息

while(true){
    var msg = prompt("input:");
    if(msg == "exit"){
        break;
    }
    console.log(msg);
}

3、do…while 循环结构

1、特点 & 场合

优先适用于 先执行循环操作,再判断循环条件的场合下。

2、语法

do{
    //循环操作
}while(循环条件);

流程:
    1、先执行循环操作(可能会为循环条件赋值)
    2、判断循环条件
        如果条件为真,则继续执行循环操作
        如果条件为假,则跳出循环结构

3、do…while 与 while 之间的区别

1、while 循环
    先判断条件,再执行操作
    最少 一次循环操作都不执行(第一次判断条件为假时)
2、do ... while 循环
    先执行循环操作,再判断循环条件
    最少要执行一次循环操作(第一次判断条件为假时)
3、while 和 do...while的不同仅仅体现在第一次循环条件就不满足的循环操作中;除此之外,两个循环完全一样

4、for 循环结构

1、语法

for(表达式1;表达式2;表达式3){
    循环操作
}
表达式1:循环条件的声明
表达式2:循环条件判断
表达式3:更新循环条件变量

执行顺序:
1、执行表达式1-声明循环条件变量
2、计算表达式2-判断循环条件
    如果条件为 true,则执行循环体
    如果条件为false,值退出循环
3、执行循环体 
4、执行表达式3-更新循环变量
5、计算表达式2,重复步骤2的操作

2、for循环的使用场合

1、确定循环次数的条件下,优先使用for循环
2、先判断条件,根据条件判断结果决定是否要执行操作(与while相似)

3、for循环三个表达式特殊用法

1、可以省略表达式1的内容
    表达式1;
    for(;表达式2;表达式3){
        循环操作
    }
2、可以省略表达式2的内容
    死循环
3、可以省略表达式3的内容
    死循环
4、三个表达式全为空
    for(;;){
        console.log("Hello World");
    }
    死循环
    while(true){}
5、表达式1和表达式3位置处,允许写多个表达式,多表达式之间用 , 分隔
    ex
        1+6=7
        2+5=7
        3+4=7
        4+3=7
        ...
        6+1=7

4、循环嵌套

所有循环都可以相互嵌套

for(var i = 1;i<=9;i++){ //外层循环
    for(var j=1;j<=9;j++){ //内层循环
        console.log();
    }
}

特点:外层循环执行一次,内层循环要执行一轮

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值