JSday3知识点整理

本文详细介绍了JavaScript中的三元运算符、分支嵌套、SWITCH条件分支结构,包括SWITCH方法的补充说明,并讲解了循环结构中的死循环概念。通过实例解析了如何在不同场景下使用这些控制流工具。
摘要由CSDN通过智能技术生成

1.三元运算符

  • 三元运算,就是用 两个符号 组成一个语句

  • 三元运算只是对 if else 语句的一个简写形式

  • 语法: 条件 ? 条件为 true 的时候执行 : 条件为 false 的时候执行

  • 例子

var age = 20;
    // if(age>=18){
    //     console.log("你是成年人");
    // }
    // else{
    //     console.log("你是未成年人");
    // }
    //  条件 ? 条件为真的值 : 条件为假的值
    // 如果条件为真 那么输出冒号左边的  为假 输出 冒号右边的 
    // var res = age>=18?'成年':'未成年'
    // console.log(res);
    // 三元运算符就是对if else结构的一个简写 
    // 让用户输入一个数字 0 男  1 女  
    var num = parseInt(prompt("请输入你的性别 0男 1女 输入1或者0"));
    // if(num==0){  
    //条件中不可能出现 一个等号的情况  要么  == 要么  ===
    //     console.log("你是男生");
    // }
    // else{
    //     console.log('你是女生')
    // }
    num==0?console.log("你是男生"):console.log('你是女生');

2.分支嵌套

例子

例子1
// 买票了
   //通过安检
       // 绿码 
       // 红码
   //没有通过安检
// 没买票
        var res = parseInt(prompt("请输入你的结果 1买票了 0没买"));
        if(res==1){
            console.log("感谢购买");
            var res1 = parseInt(prompt("请输入你的结果 1通过安检 0没通过安检"));
            if(res1 ==1){
                console.log('感谢配合')
                var res2 = parseInt(prompt('请出示你的健康码 1绿码 0红码'));
                if(res2 == 1){
                    console.log('旅途愉快')
                }
                else{
                    console.log('请去医院检查')
                }
            }
            else{
                console.log("请重新安检");
            }
        }
        else{
            console.log("请先买票");
        }
例子2
    // 输入年
    // 输入月
    // 输入日
    //判断这是一年的第几天  
    var year = parseInt(prompt('请输入年份'));
    var month = parseInt(prompt('请输入月份'));
    var day = parseInt(prompt('请输入日期'));
    //天数累加 2022年8月17日  1-7天数累加 + 17 
    // 闰年  2月29 平年 28天
    //1 3 5 7 8 10 12 31 
    //4 6 9 11 30 
    // 准备一个容器  变量 用来累加天数 
    var date = day;
    // 根据月份进行判断 好知道是多少天 
    // 大于1 累加 1月整月的天数
    // 大于2 累加 1+2月整月的天数
    // 大于3 累加 1+2+3月整月的天数
    if(month>1) date += 31;
    if(month>2){
    date += (year %4== 0 && year % 100 !=0) || (year % 400 ===0) ? 29:28;
    }
    if(month>3) date += 31;
    if(month>4) date += 30;
    if(month>5) date += 31;
    if(month>6) date += 30;
    if(month>7) date += 31;
    if(month>8) date += 31;
    if(month>9) date += 30;
    if(month>10) date += 31;
    if(month>11) date += 30;
    console.log(`第${date}天`)

3.SWITCH 条件分支结构

  • 也是条件判断语句的一种

  • 是对于某一个变量的判断

  • 语法:

  • switch (要判断的变量) {
      case 情况1:
        情况1要执行的代码
        break
      case 情况2:
        情况2要执行的代码
        break
      case 情况3:
        情况3要执行的代码
        break
      default:
        上述情况都不满足的时候执行的代码
    }
    例子1
    让用户输入一个月份  1-12 
    //  1   31   2 28
    var month = parseInt(prompt('请输入一个月份'));
    switch(month){
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            console.log('31天');
            break;
        case 'true':
        case 6:
        case 9:
        case 11:
            console.log('30天');
            break;
        case 2:
            console.log('28天');
            break;
        default:
            console.log('请输入正确的月份');
            break;
            }
    例子2
    var score = parseInt(prompt("请输入你的分数"));
    switch(parseInt(score/10)){
       case 10:
       case 11:
       case 12:
       case 9:
           console.log('A');
           break;
       case 8:
           console.log('B');
           break;
       case 7:
           console.log('C');
           break;
       case 6:
           console.log('D');
           break;
       default:
           console.log('E');
           break;}

SWITCH方法补充

var num = 123.456789;
alert(num.toFixed(2));
false || true  && false 
false || false
if(false && true || true && false){
    console.log('true');
}
else{
    console.log('走到这里alse');
}
默认从左往右执行 
逻辑与  逻辑或在一起的 先执行逻辑与 
alert(!(true) && true)
逻辑非 和逻辑与 在一起的时候 先执行逻辑非  
逻辑非 ! > 逻辑与 &&> 逻辑或 || 
==  值相等  ===  值和类型 都相等  
Object.is(数据1,数据2)
判断两个数据是否一致  返回的是一个布尔类型的结果 
alert(Object.is(1,'1')) // false
alert(Object.is(1,1)) // true
alert(undefined == null)  // true
alert(Object.is(undefined,null)) // falsalert(Object.is(NaN,NaN)) // true 如果为true 说明两个数据一致
false 不一致  

4.循环结构

  • while,中文叫 当…时,其实就是当条件满足时就执行代码,一旦不满足了就不执行了

  • 语法 while (条件) { 满足条件就执行 }

  • 因为满足条件就执行,所以我们写的时候一定要注意,就是设定一个边界值,不然就一直循环下去了

// 1. 初始化条件
var num = 0;
// 2. 条件判断
while (num < 10) {
  // 3. 要执行的代码
  console.log('当前的 num 的值是 ' + num)
  // 4. 自身改变
  num = num + 1
}
// 初始值    计数器 默认 0 
        // 判断条件    计数器 <= 10
        // 执行的代码  跑步 
        // 计数器     计数器++
        // 计数器
        // while(条件判断){
        //     条件满足的执行的代码;
        //     计数器++;
        // }
例子1
 var count = 0;  //设置初始值  为0  也可以设置为1 
while(count<5){
    console.log('正在跑第'+(count)+'圈'); // 0 1 2 3 4
    count++;   // 1 2 3 4 5
        }
var count = 0;  //设置初始值  为0  也可以设置为1 
    while(count<5){
    count++; // 1 2 3 4 5
    console.log('正在跑第'+(count)+'圈'); // 1 2 3  4 5 
}
例子2
累加1~5之间的和 
var n = 0; //  1 2 3 4 5 
var sum = 0;  // 这个容器用来存放最后的和
while(n<100){
    n++; // 1 2 3 4 5 
    sum += n; // 0+1   0+1+2  0+1+2+3  0+1+2+3+4  0+1+2+3+4+5
    console.log(sum) // 1 2 3 4 5 
}
例子3
构建1-10 
var n=0; //初始化条件
while(n<10){
    n++; // 执行的代码  自身变化的部分
    console.log(n);
}
例子4
var n=1; //初始化条件
var sum=0;
while(n<=100){        
   console.log(n); // 1 2 3 4 5 6 7 8 9 10
   if(n%2==0){
       sum+=n;
   }
   n++; // 执行的代码  自身变化的部分
}
console.log(sum); // 25
例子5
var n=1; //初始化条件
while(n<=100){
   console.log(n); // 1 2 3 4 5 6 7 8 9 10.... 100
   if(n%3==0){
        console.log(n)
   }
   n++; // 执行的代码  自身变化的部分
}
例子6
求1-100内所有3的倍数
var n=3; //初始化条件
var sum=0;
while(n<=100){
    sum+=n;
    n+=3;
}
console.log(sum);

死循环

只要while条件为true 循环就会执行

死循环就是条件永远为true

我们在开发过程中 也会刻意制造死循环

while(true){
            console.log('死循环')
        }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值