第五章 JavaScript流程控制

发布于:2022-12-07 ⋅ 阅读:(332) ⋅ 点赞:(0)

一,顺序控制

1.顺序控制:(如自增自减运算符)

依照代码的书写顺序来执行代码

  • 单路分支
if (条件表达式) {
            代码块
        }
  • 双路分支
if(){

        }else{                 //两条路可走 如果不满足if里面的条件则走else

        }
  • 多路分支(在双路分支的基础上增加几条路 )
if(条件表达式1){
                代码块1
        }
        else if(条件表达式2){
            .
            .
            .
        }else{    // 如果条件表达式1满足的话 执行对应的代码块1 
                  //否则往下继续执行else if 的条件  如果以上都不满足的话 执行else的代码块 

        }
2.嵌套分支

就是在if语句的基础上在嵌套一个if语句

if(条件表达式1){
            if(条件表达式2){
                代码块2
            }else{

            }

        }else{

        }
  • 拓展

isNaN() 判断不是一个数字 不是一个数字 False 是一个数字 true

  • switch分支
    switch能写出来的用if都可以写出来 反之则不一定了
switch(条件){
                case 值1:
                    代码块1
                    break;
                case 值2:
                    代码块2
                    break;
                    default:     //default是当以上都不满足则走default 
                        代码块last
                        break;
            }

举一个例子 判断一下输入的数字 然后显示对应星期

 var x = prompt(); 
            switch(x){
                case 1:
                    alert("今天星期一");
                    break;//打断的意思 
                case 2:
                    alert("今天是星期二");

            }

二,循环控制

因为需要写重复的代码 所以我们要用循环 for for in while do while

1.for循环

写法:for(初始值;范围;自增/自减){
执行代码块
}

假设 你需要将一个语句输出10遍
按照正常写法你可能只能这样输出

document.writeln("你在干嘛");
document.writeln("你在干嘛");
document.writeln("你在干嘛");
document.writeln("你在干嘛");
document.writeln("你在干嘛");
document.writeln("你在干嘛");
document.writeln("你在干嘛");
document.writeln("你在干嘛");
document.writeln("你在干嘛");
document.writeln("你在干嘛");

但是这样是不是很麻烦 如果用for循环只需要用三行代码就可以实现

for(var i = 1;i <= 10;i++){
                       document.writeln(i+"你在干嘛");
                   }

for
99乘法表写法

 for(var i = 1;i<=9;i++){
                        for(var j = 1; j<=i;j++){
                            //判断 
                            if(i == 3&&j ==3){
                                document.write("&bnsp;&bnsp;")
                            }
                             if(i == 3&&j ==4){
                                document.write("&bnsp;&bnsp;")
                            }
                            document.write(i+"*"+j+"="+i*j+"  ")
                        }
                        document.writeln();
                    }
2.for in 遍历数组

循环遍历对象属性或者数组的值

 var arr = {1,2,3,7,4,5,6};
                    for(var  i in arr){
                        console.log(i)
                    }

for in遍历数组

for in 遍历对象

 var obj = {
                        name:"侯旭",
                        age:"18",
                        ah:"rap说唱"

                    }
                    for(var i in obj){
                        console.log(obj[i])
                    }

for in 遍历对象

3.while循环

写法: while(条件){
代码块
x++;
}

4.do while循环
              var i = 0;
           do{
                    document.writeln("666")  //和while区别:不管条件对不对,至少执行一遍
                }while(i<=10);

三.变量交换

                        var x = 10;
                        var y = 20;
                        var temp;  //将x值和y值对换
                        //需要定义一个第三者    
                        temp = x;
                        x = y
                        y = temp;
                        console.log(x);
                        console.log(y)

变量交换
数组的反转

将数组中10 20 30 40 50 60 变成 60 50 40 30 20 10

思路:应该是这样进行对换位置
数组反转

          10  20  30  40  50  60  
     下标  0   1   2   3   4   5
      那么下标为0的和最后一个交换,下标为1的和倒数第二个交换 那么我们会发现有什么规律吗?
     0      5   交换            0     length-1-0
     1      4   交换            1     length-1-1
     2      3   交换            2     length-1-2
     根据以上我们会得出一个对换的规律              i     和   length-1-i 进行对换位置
                       //数组反转 
                        var arr = [10,20,30,40,50,60];
                        //反转的长度 是 长度/2  1 2 3 4 5 6 1和6对换 ...
                        for(var i = 0;i < arr.length/2;i++){
                            //创建第三方变量 进行交换
                            var num = arr[i];
                            arr[i]=arr[arr.length-1-i];
                            arr[arr.length-1-i] = num;
                        }
                        console.log(arr);
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到