第五章 JavaScript流程控制

一,顺序控制

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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开心亿点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值