JS基础知识积累3

三木运算符

三元表达式

语法结构:表达式1?代码1:代码2;
语法解析

  1. 表达式1成立,就执行代码1,否则就执行代码2。
  2. 如果代码1或者代码2有结果,那么这三个元表达式的结果就是代码1或代码2。

表达式1可以是那些表达式:

  1. 关系表达式
  2. 布尔类型的值
    一般表达式都会有一个结果 要不就直接输出,要不就是用一个变量保存

分支结构

if

语法结构:

if(表达式){
    条件成立时执行的代码
}

表达式可以是哪些:

  1. 关系表达式
  2. 布尔类型的值
  3. 其他类型的值
    if结构里面的{ } 在条件成立时需要执行的代码只有一行是可以省略,但是一般不要省略

if else

语法结构:

if(表达式){
    代码1; //条件成立时执行的代码
} else{
   代码2; //条件不成立时执行的代码
}

语法解析:

  1. 当表达式成立时,执行代码1,否则执行代码2
  2. if - else 是表示两个互斥的结构,只能满足其中一个,两个大括号里面的代码不可能同时执行
  3. else后面绝对不能接括号

if else-if else

语法结构:

if(条件1){
   条件1成立时执行的代码
} else if(条件2){
  条件2成立时执行的代码
}
......
else{
  以上条件有不成立时执行的代码
}

特点

  1. if-else if是做多条件判断的
  2. 所有大括号里面的代码只会执行一个

swich case

swich case:主要用于固定值匹配
swich case:匹配规则:匹配值必须是全等的
break的作用:是用来结束swich-case语句的 ,可以不写,但是不写会出现穿透现象 防止传统
break:只能用于swich语句和循环语句

经典例题

  1. 请用户输入年份和月份, 打印出这个月有多少天
    1, 3, 5, 7, 8, 10, 12 月有31天
    4, 6, 9, 11 有30天
    2 月, 如果是平年就是28天, 闰年就是29天
var year = +prompt("请输入年份");
             var month = +prompt("请输入月份");
             switch(month){
             	case 1:
             	case 3:
             	case 5:
             	case 7:
             	case 8:
             	case 10:
             	case 12: 
             	        document.write("这个月有31天");
             	        break;
             	case 4:
             	case 6:
             	case 9:
             	case 11:
             	        document.write("这个月有30天");
             	        break;
             	case 2:
             	       if((year % 4 == 0 && year % 100 != 0) || (year % 400 ==0)){
             	       	  document.write("这个月有29天")
             	       } else{
             	       	 document.write("这个月有28天")
             	       }
             	       
             }
  1. 猜数字游戏
    程序随机生成或任意存储一个0-9范围内的整数;(随机数:(Math.random() * 10) | 0)
    用户输入一个整数,若比生成的随机数大则在控制台中输出“猜大了”,若比生成的随机数小则在控制台中输出“猜小了”,直到用户才对数字为止
    输入范围外的字符,提示“输入有误”
    `[ 提升要求:输入 “exit”…退出游戏]
  var num = Math.floor((Math.random() * 10) | 0);
                var num1;
                var a = "exit";
                num1 === a;
                while (true) {
                    num1 = prompt("请输入一个整数");
                    if ((num1 > num) && (num1 >= 0 && num1 <= 9)) {
                        alert("猜大了");
                    } else if ((num1 < num) && (num1 >= 0 && num1 <= 9)) {
                        alert("猜小了")
                    } else if ((num1 == num) && (num1 >= 0 && num1 <= 9)) {
                        alert("你猜对了")
                    } else if (num1 < 0 || num1 > 9) {
                        alert("输入有误");

                    } else if (num1 === a) {
                        alert("...退出游戏");
                        break;
                    }
                }

知识点补充

逻辑表达式的结果不只是truer或者false
什么叫短路运算:在逻辑表达式中,如果第一个式子就可以决定整个逻辑表达式的结果,那么第二个式子就 不用再计算了,这个就是逻辑运算符的短路运算

  1. 逻辑与的短路运算:找假 再逻辑表达式中,如果第一个式子的结果为false,那么该逻辑表达式的结果就是第一个式子的值,否则就是第二个式子的值
  2. 逻辑或的短路运算:找真 在逻辑表达式中,如果第一个式子的结果为true,那么该逻辑表达式的结果就是第一个式子的值,否则就是第二个式子的值
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值