jsday03

三元运算符

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

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

var age = prompt("用户输入一个数字(0/1)")
// 1.if else实现
// 条件中不可能出现一个等号的情况 要么== 要么===
if(age==1){
    alert("女")
}else{
    alert("男")
}
// 三元运算符实现
age == 1 ? alert("女") : alert("男")

分支嵌套

代码举例:

//输入年月日  输出这是第几天
var year = parseInt(prompt("请输入年份:"))
var mouse = parseInt(prompt("请输入月份:"))
var day = parseInt(prompt("请输入日:"))
//1 3 5 7 8 10 12
//2
//4 6 9 11

第一种 if else

var d;
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
    if(mouse == 1){
        d = day;
    }
    else if(mouse == 2){
        d = 31+day
    }
    else if (mouse == 3 || mouse == 5 || mouse == 7) {
        d = parseInt(mouse/2)*31(parseInt(mouse/2)-1)*30+29+day
    }
    else if(mouse == 8 || mouse == 10 || mouse == 12){
        d = parseInt(mouse/2)*31+(parseInt(mouse/2)-2)*30+29+day
    }
}else{
    if(mouse == 1){
        d = day;
    }
    else if(mouse == 2){
        d = 31+day
    }
    else if (mouse == 3 || mouse == 5 || mouse == 7) {
        d = parseInt(mouse/2)*31+(parseInt(mouse/2)-1)*30+28+day
    }
    else if(mouse == 8 || mouse == 10 || mouse == 12){
        d = parseInt(mouse/2)*31+(parseInt(mouse/2)-2)*30+28+day
    }
}
alert("一共"+d+"天");

第二种 if

        var a = day;
        if(mouse > 1){
            a += 31;
        }
        if(mouse > 2){
            (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0) ? a+=29 : a+=28;
        }
        if(mouse > 3){
            a += 31;
        }
        if(mouse > 4){
            a += 30;
        }
        if(mouse > 5){
            a += 31;
        }
        if(mouse > 6){
            a += 30;
        }
        if(mouse > 7){
            a += 31;
        }
        if(mouse > 8){
            a += 31;
        }
        if(mouse > 9){
            a += 30;
        }
        if(mouse > 10){
            a += 31;
        }
        if(mouse > 11){
            a += 30;
        }
        console.log("一共"+a+"天");

switch分支结构

结构

switch(条件(可以是公式)){
        case 结果/情况1://必须是结果,不能是式子
            执行语句;
            break;//阻断程序继续向下执行
        case 结果/情况2:
            执行语句;
            break;
        default://如果switch 括号里边的结果 都不在上边的case中
            //那么就会走 default
            执行语句;
            break;
}

代码参考:

//输入分数,判断等级
var score = parseInt(prompt("请输入你的分数:"))
switch(parseInt(score/10)){
     case 10: alert("S");break;
     case 9: alert("A");break;
     case 8: alert("B");break;
     case 7: alert("C");break;
     case 6: alert("D");break;
     default: alert("E");break;
 }

循环结构

结构

while(条件判断){

条件满足后要执行的代码;

计时器++;

}

代码参考:

求1-100内所有偶数的和
var num = 1;
var sum = 0;
while(num<=100){
     if(num%2==0){
         sum += num;
     }
     num++;
 }
 alert("1-100所有偶数的和是"+sum);

死循环

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

死循环就是条件永远为true

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

while(true){
    console.log('死循环')
}

补充

交换两个变量的值

var x = 12;
var y = 21;
var tem;
tem = x;
x = y;
y = tem;
console.log('x='+x);
console.log('y='+y);

保留小数点后几位

借助工具 .toFixed()

四舍五入

var num = 123.456789;
alert(num.toFixed(3));

优先级问题

默认从左往右执行

逻辑非 ! > 逻辑与 &&> 逻辑或 ||

逻辑与 逻辑或在一起的 先执行逻辑与

if(false && true || true && false){
     console.log('true');
}else{
     console.log('走到这里alse');//输出
}

逻辑非 和逻辑与 在一起的时候 先 逻辑非

alert(!(true) && true)//false

判断两个数据是否一致

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)) // false 
alert(Object.is(NaN,NaN))
// true 如果位true 说明两个数据一致
//false 不一致  

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值