JS-流程控制-分支结构+循环结构

目录

2.12 分支判断语句  (进行判断的)

2.12.1 if语句

​编辑    ​编辑   ​编辑

2.12.2 switch语句

2.13 循环语句 (重复执行某些代码)

2.13.1 do while循环

2.13.2 while循环

2.13.3 for循环

双重for循环

continue和break区别:


流程控制: 控制代码执行的结构顺序;

分为三种: 

  1. 顺序结构: 代码按照先后顺序依次执行;
  2. 分支(选择)结构: 根据不同的条件,执行不同的的路径代码,从而得到不同的结果;
  3. 循环结构 :重复执行某些代码;

2.12 分支判断语句  (进行判断的)

JS中,可以根据不同的条件执行不同的代码。此时,就需要分支判断语句。

JS中,分支判断语句有两种: if 语句、 switch 语句  [switch 开关,转换] [else 其他的]

2.12.1 if语句

语法:

第一种: 单if判断
​
if ( 条件表达式) { 执行语句}  
​
第二种: 多分支条件
​
if (条件表达式) { 执行语句} 
else if (条件表达式) { 执行语句}
....
else if (条件表达式)  {执行语句}
​
第三种: if   else判断
​
if (条件表达式) {}
 else {条件表达式}    //最后的else直接跟{}
​
第四种: if else if  else判断
if (条件表达式) { 执行语句}
else if (条件表达式) { 执行语句} 
else if (条件表达式) { 执行语句} 
....
....
else { 执行语句}   //最后的else直接跟{}

      

2.12.2 switch语句

执行机制:

  • 对switch()中的变量做判定,与每一个case值进行比对;
  • 如果匹配成功,则执行对应的代码,执行完之后如果遇见了break就跳出switch语句。
  • 如果没有遇见break会"掉"到下一个case中,不论case条件是否匹配 ;
  • 如果没有任何一个case匹配上 会执行default 中的代码 default可以省略;
  • switch 语句在比较值时使用的是全等操作符, (例如,字符串'10' 不等于数值 10);

语法: 注意  case 空格  比较值   冒号

switch (变量) {
   case 常量1:

    语句1;
    break;


   case 常量2:

    语句2;
    break;


    case 常量3:

     语句3;
     break;
    ...


    default:                    //[default 默认;]
    最后的执行语句;       // 都不匹配时执行最后的default;              
    break;  
}

  
 

  // 获取用户输入
        var day = +prompt("请输入数字");

        switch写法
        switch (day) {
            case 0:
                console.log("星期天"); break;
            case 1:
                console.log("星期一"); break;
            case 2:
                console.log("星期二"); break;
            case 3:
                console.log("星期三"); break;
            case 4:
                console.log("星期四"); break;
            case 5:
                console.log("星期五"); break;
            case 6:
                console.log("星期六"); break;
            default:
                console.log("输入错误");
        }

if语句和switch语句的区别

  • switch语句处理case的取值比较明确(特定值);
  • if语句 处理范围判断;(大于或小于某个范围)

2.13 循环语句 (重复执行某些代码)

循环:指的是重复做一件事情。

在JS中,循环有3个。

  1. while   [while 在.....期间]

  2. do while

  3. for

注:写循环代码的时候,要格外注意死循环的情况。

2.13.1 do while循环

do...while的特点是不管条件成不成立,都会执行一次。

语法:

do{

} while()

do {
  
  //循环体代码
} while(循环条件)

执行顺序:先执行一次 代码块中的代码,然后判断条件,如果条件为真 继续执行代码块中的代码,如果条件为假,终止循环.

//案例 求100内整数和;

// 初始化变量
var i = 1;
var sum = 0;
do {
  sum += i;//循环体
  i++;//自增
} while (i <= 100);//循环条件

   console.log(sum);

do while的特点:先执行一次循环体的代码 再进行判定


2.13.2 while循环

语法:

while () {
}

while (循环条件) {
    //循环体代码
}

执行顺序:先判定, 当循环条件为true时,执行循环体, 当循环条件为false时,循环不开始直接跳过.

// 计算1-100之间所有数的和


// 初始化变量
var i = 1;
var sum = 0;

// 判断条件
while (i <= 100) {
  // 循环体
  sum += i;
  // 自增
  i++;
}
console.log(sum);

do..while循环和while循环非常像,二者经常可以相互替代,但是do..while的特点是不管条件成不成立,都会执行一次。


2.13.3 for循环

语法: for(){

}

for (1初始化表达式; 2判断表达式; 4递增(递减)表达式) {
   
3循环体代码
}

第一次执行: 1 2 3 4
之后的每一次执行: 2 3 4   2 3 4   2 3 4...
直到2的判定条件为fasle时,结束循环

初始化变量: 1   var 声明一个变量并赋值;

判断表达式: 2   终止的条件;

递增(递减)表达式:  4   对循环变量进行更新,(通常是递增递减);

执行顺序:  1243 ---- 243 -----243(直到判断条件变成false);

for (var i = 1; i<=100;i++){
     console.log("hello")}

  1. 首先执行 var i= 1; 只执行一次;
  2. 再去i<=100;判断是否满足,满足执行循环体,不满足退出循环体;
  3. 循环体执行后,最后再去执行i++;(第一轮结束);
  4. 第二轮,先去判断i<=100,满足执行循环体,然后i++; 不满足退出循环;
  5. 以此类推;

拼接字符串: 通过引引加加;   例如: "今年是" + i + "年哦"

双重for循环

循环嵌套:是指在一个循环语句中再定义一个循环语句的语法结构.

               例 :在for循环语句中,可以再嵌套一个for循环,这样的for循环语句我们称之为双重for循环。

双重for循环,外层循环一次,内层for循环全部执行;

可以把里面的循环看成是外层循环的语句;


continue和break区别:

break:立即跳出整个循环,即循环结束,开始执行循环后面的内容

continue:立即跳出当前循环,继续下一次循环(跳到i++的地方)

// continue 继续 跳过一次循环

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

            if (i === 5) {

                continue;

            }

            console.log(i);    //  0 1 2 3 4 

        }

// break   打断  跳过整个循环

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

        if (i === 2) {

          break;

        }

        console.log(i);  // 0  1

      }

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值