day03+思维导图
三元运算
条件?条件为真的值:条件为假的值
三元运算符就是对if else结构的一个简写
条件中不可能出现 一个等号的情况 要么 == 要么 ===
var num = parseInt(prompt("请输入你的性别 0男 1女 输入1或者0"));
num==0?console.log("你是男生"):console.log('你是女生');
分支嵌套
从最外边向里边写,从大到小
//判断这是一年的第几天
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}天`)
switch 分支结构
switch(条件){
case 结果/情况方案:
执行语句;
break;//阻断程序往下执行, 如果不写 就会继续穿透到下一个结果/情况 然后这个这个结果的代码
case 结果2/情况2:
执行语句2;
break;
default: //如果 switch 括号里边的结果 都不在下面的case中
// 那么就会走到 default
执行语句3;
break;
}
var day = parseInt(prompt("请输入数字"));
// 10
switch(parseInt(day % 7)){
case 0:
console.log('周天');
break;
case 1:
console.log('周一');
break;
case 2:
console.log('周二');
break;
case 3:
console.log('周三');
break;
case 4:
console.log('周四');
break;
case 5:
console.log('周五');
break;
case 6:
console.log('周六');
break;
default:
// 跟else 一样 如果上面的条件都不满足 那么走进这里
console.log('别担心好好检查下');
break;
}
方法补充
alert(num.toFixed(2));小数点省略方法
逻辑非 ! > 逻辑与 &&> 逻辑或 ||
Object.is(数据1,数据2),判断两个数据是否一致 返回的是一个布尔类型的结果
循环结构
while(条件判断){ 条件满足的执行的代码; 计数器++; }
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
}
console.log(sum)
死循环
//只要while条件为true 循环就会执行 // 死循环就是条件永远为true //我们在开发过程中 也会刻意制造死循环
while(true){
console.log('死循环')
}