JavaScript学习第三天

分支结构

  • 我们的js代码都是顺序执行的(从上到下)
  • 逻辑分支就是根据我们设定好的条件来决定要不要执行某些代码

1、条件分支语句-if

1、if语句

  • 通过一个if语句来决定代码是否执行
  • 语法:if(条件){  要执行的代码  }
  • 通过()里面的条件是否成立来决定{}里面的代码是否执行

2、if-else语句

  • 通过if条件来决定,执行哪一个{}里面的代码
  • 语法:if(条件){ 条件为true的时候执行} else{ 条件为false的时候执行}
  • 两个{}内的代码一定有一个会执行
        <script>
            var sum=210
            var youhuisum
            if(sum>200){
                youhuisum=sum-10
            }
            else{
                youhuisum=sum
            }
            console.log(sum,youhuisum)
        </script>

3、if-else if...语句

  • 可以通过if和else if来设置多个条件进行判断
  • 语法:if(条件1){ 条件1位true的时候执行} else if(条件2){ 条件2位true的时候执行}
  • 会从头开始一次判断条件

        如果第一个条件为true,那么就会执行后面的{}里面的内容

        如果第一个条件为false,那么就会判断第二个条件,依次类推

  • 多个{},只会有一个被执行,一旦有一个条件为true了,后面的就不再判断了。

    <script>
        var sum=120
        var youhuisum
        if(sum>200){
            youhuisum=sum-10
        }
        else if(sum>100){
            youhuisum=sum-5
        }
        else if(sum>50){
            youhuisum=sum-3
        }
        else if(sum<50){
            youhuisum=sum
        }
        console.log(sum,youhuisum)
        //输出120 115
    </script>

4、if -else if...else语句

  • 和之前if-else if...基本一致,只不过是在所有条件都不满足的时候,执行最后else后面的{}
  • 只要前面有一个条件满足了,那么后面的就不会执行了
    <script>
        var sum=10
        var youhuisum
        if(sum>200){
            youhuisum=sum-10;
        }
        else if(sum>100){
            youhuisum=sum-5
        }
        else if(sum>50){
            youhuisum=sum-3
        }
        else{
            youhuisum=sum
        }
        console.log(sum,youhuisum);
        //输出10 10
    </script>

2、if案例

1、判断奇偶数

    <script>
        //1、判断奇数偶数
        //数学:能整除2的就是偶数,否则就是奇数
        var n=10;
        if(n%2===0){
            console.log("偶数")
        }
        else{
            console.log("奇数")
        }
    </script>
    <script>
        //1、判断奇数偶数
        //数学:能整除2的就是偶数,否则就是奇数
        var n=7;
        if(n%2){
            console.log("奇数")
        }
        else{
            console.log("偶数")
        }
    </script>
    <script>
        //1、判断奇数偶数
        //数学:能整除2的就是偶数,否则就是奇数
        var n=7;
        if(!(n%2)){
            console.log("偶数")
        }
        else{
            console.log("奇数")
        }
    </script>

2、根据0-100的数字输出成绩

    <script>
        // 2、根据0-100的数字输出成绩
        //90-100    输出A
        //80-90         B
        //70-80         C
        //60-70         D
        //0-60          E
        var score=89;
        if(score>=90){
            console.log("A")
        }
        else if(score>=80){
            console.log("B")
        }
        else if(score>=70){
            console.log("C")
        }
        else if(score>=60){
            console.log("D")
        }
        else{
            console.log("E")
        }

3、判断闰年

    <script>
        //判断闰年
        //什么是闰年
        //世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年
        //year%400
        //普通闰年:公历年份是4的倍数,且不是100的倍数的
        // year%4===0 && year%100!=0
        var year=2000
        // &&的优先级比||优先级高
        if(year%400===0 || year%4===0 && year%100!=0){
            console.log("闰年")
        }
        else{
            console.log("平年")
        }

    </script>

3、条件分支语句-switch

switch条件分支结构

  • 也是条件判断语句的一种
  • 是对于某一个变量的判断
  • 要判断某一个变量等于某一个值得时候使用

语法:switch(要判断的变量){

                case 情况1:

                        情况1要执行的代码

                        break

                case 情况2:

                        情况2要执行的代码

                        break

                case 情况3:

                        情况3要执行的代码

                        break

                default:

                        上述情况都不满足的时候执行的代码

           }

    <script>
        // 订单状态码
        // 1    未付款
        // 2    已付款
        // 3    已发货
        // 4    已完成
        var code=5
        switch(code){
            case 1:
                document.write("未付款")
                break;
            case 2:
                document.write("已付款")
                break;
            case 3:
                document.write("已发货")
                break;
            case 4:
                document.write("已完成")
                break;
            default:
                document.write("出错了")
        }
    </script>
  • 注意:
  • 1、===
  • 2、尽量不要比较运算符
  • break必须写

4、switch案例

1、案例1(满减)

    <script>
        //满200减10  满100减5  满50减3
        var sum=220
        var youhuisum

        switch (true) {
            case sum>=200:
                youhuisum=sum-10
                break;
            case sum>=100 && sum<200:
                youhuisum=sum-5
                break
            case sum>=50 && sum<100:
                youhuisum=sum-3
                break;
            default:
                youhuisum=sum
                break;
        }
        document.write(youhuisum)
    </script>

2、案例2(打印月份天数)

    <script>
        // 根据1~12的数字来输出一个月有多少天,不考虑闰年
        var month=1
        switch (month) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                document.write("31")
                break;
            case 2:
                document.write("28")
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                document.write("30")
                break;
            default:
                break;
        }
    </script>

3、案例3(打印成绩)

    <script>
        var score=70;
        var flagScore = parseInt(score/10)
        switch (flagScore) {
            case 10:
            case 9:
                document.write("A")
                break;
            case 8:
                document.write("B")
                break;
            case 7:
                document.write("C")
                break;
            case 6:
                document.write("D")
                break
            default:
                document.write("不及格")
                break;
        }
    </script>

5、循环分支语句-while

循环结构

  • 循环结构,就是根据某些给出的条件,重复的执行同一段代码
  • 循环必须要有某些固定的内容组成

        1、初始化

        2、条件判断

        3、要执行的代码

        4、自身改变

while循环

  • while,中文叫当...时,其实就是当条件满足时就执行代码,一旦不满足了就不执行
  • 语法:while(条件){    满足条件就执行    }
  • 因为满足条件就执行,所以我们写的时候一定要注意,就是设定一个边界值,不然就一直循环下去了

6、while案例

1、案例1  求1~100所有数字的和   5050

    <script>
        // 案例1  求1~100所有数字的和   5050
        var n=1;
        var sum=0;
        while(n<=100){
            // console.log(n)
            sum=sum+n;
            n++;
        }
        console.log(sum)
    </script>

2、案例2  求一个数字的阶乘5*4*3*2*1

    <script>
        var n=3
        var sum=1
        while(n>0){
            sum*=n
            n--
        }
        console.log(sum)
    </script>

7、循环分支语句-dowhile

dowhile

  • 是一个和while循环类似的循环
  • while会先进行条件判断,满足就执行,不满足直接就不执行了
  • 但是dowhile循环是,先不管条件,先执行一回,然后再开始进行条件判断
  • 语法:do{  要执行的代码 }while(条件)

8、dowhile案例

1、案例1   求1~100的和

    <script>
        var n=1;
        var sum=0;
        do{
            sum=sum+n;
            n++
        }while(n<=100)
        console.log(sum)
    </script>

2、案例2  

    <script>
        do{
            var res=prompt("请输入你的名字")
            if(res){
                console.log(res)
            }
        }while(!res)
    </script>

9、循环分支语句-for

for循环

  • 和while和dowhile循环都不太一样的一种循环结构
  • 道理是和其他两种一样的,都是循环执行代码的
  • 语法:for(var i=0;i<=10;i++){  要执行的代码  }

10、for案例

1、案例1

    <script>
        var sum=0;
        for(var i=0;i<=100;i++){
            sum=sum+i
        }
        console.log(sum)
    </script>

2、案例2  1000-2000年闰年

方法一:

    <script>
        for(var n=1000;n<=2000;n++){
            if(n%400===0 || n%4===0 && n%100!==0){
                document.write(n+" ")
            }
        }
    </script>

方法二:

    <script>
        for(var n=1000;n<=2000;n+=4){
            if(n%400===0 || n%100!==0){
                document.write(n+" ")
            }
        }
    </script>

11、循环控制语句

break终止循环

  • 在循环没有进行完毕的时候,因为我设置的条件满足,提前终止循环
  • 比如:我要吃五个包子,吃到三个的时候,不能再吃了,我就停止了吃包子这个事情
  • 要终止循环,就可以直接使用break关键字

continue结束本次循环

  • 在循环中,把循环的本次跳过去,继续执行后面的循环
  • 比如:吃五个包子,吃到第三个的时候,第三个掉到地下了,不吃了,跳过第三个,继续吃第四个第五个
  • 跳过本次循环,就可以使用continue关键字

12、案例1-求质数

    <script>
        //求质数
        // 质数:除了1和自己本身以外,没有其他约数
        // 3  5  7   11  13  17   .....
        var n=5;
        var isZhiShu =true
        for(var i=2;i<n;i++){
            if(n%i===0){
                isZhiShu=false
                break
            }
            console.log(i)
        }
        if(isZhiShu){
            console.log("is")
        }
        else{
            console.log("not")
        }
    </script>

13、案例2-九九乘法表

    <style>
        span{
            display: inline-block;
            width: 80px;
        }
    </style>
    <script>
        for(var m=1;m<=9;m++){
            for(var n=1;n<=m;n++){
                document.write("<span>"+m+"*"+n+"="+m*n+"</span>")
            }
            document.write("<br>")
        }
    </script>

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值