- 1、if…else
- ">2、三元运算符 条件?条件成立做的事:条件不成立做的事。
- 3、switch case:一个变量在不同的值的情况下对应不同的操作
- 4.注意
1、if…else
if(条件){ //条件只要可以计算出true或false即可,例如> < =的比较/一个值或其取反}else if(){//else if语句也可以有多个}else if(){}...else{}例如:var score=prompt("请输入成绩");console.log(typeof(score));if (score==100) {alert("奖励一辆BMW");}else if(score>=80){alert("奖励一台iPhone");}else if(score>=60){alert("奖励一本参考书");}else{alert("没有奖励");}
2、三元运算符 条件?条件成立做的事:条件不成立做的事。
if else的简写let gender='male'if (gender=='female') {console.log('我是女生')}else if (gender=='male') {console.log('我是男生')}用三元运算符可以简写为:1)如果处理的事情比较多,可以用()包起来,以逗号分隔2)如果不需要处理事情,使用null或undefined占位let gender='male';gender=='male'?console.log('我是男生'):console.log('我是女生')gender=='male'?(alert('男生!'),console.log('我是男生')):null练习:let a=10if (a>0) {if (a<10) {a++}else{a--}}else{if (a>-10) {a+=2}}可以改写为:a>0?(a<10?a++:a--):(a>-10?a+=2:null)注意:三元运算符是简单if else语句的改写,复杂的语句不要使用三目运算符,不利于阅读代码
3、switch case:一个变量在不同的值的情况下对应不同的操作
switch(进行判断的变量){case 成立的条件:执行语句;break;//不加break,当前条件成立执行完成后,不论后面的条件是否成立都会执行下一个语句,直到遇到break为止case 成立的条件:执行语句;break;...default:执行语句:break;}var num=3;switch (num){case 1 :alert("星期一");break;case 2:alert("星期二");break;case 3:alert("星期三");break;case 4:case 5://不加break的利用alert('周四或周五');break;default:break;}
4.注意
if else判断与switch case判断的区别:
swich case语句中的判断是绝对相等(===)
let a=10swicth (a)case '10':console.log(a)break;default:break;// 相当于if语句===if (a==='10') {
要点 1、break与continue break:在循环语句中遇到直接退出该循环,不再执行break后面的语句 continue:在循环中遇到直接退出当前循环,不再执行该循环中continue后面的语句,进入到下一个循环继续执行 2、与= ==:进行比较时如果数据类型不同先转换为一样的数据类型然后再判断 =:数据类型不同直接视为不相等,switch case语句使用=进行判断 3、a++与a+=1或者a=a+1并不完全相等 a++纯粹的数学运算,即使遇到字符串 4、a++与++a
for (var i=0;i<10;i++) {console.log(i)//0break;//遇到break直接退出该循环}console.log(i)//0 因为i=0时就遇到了break语句退出了循环for (var i=0;i<10;i++) {continue;console.log(i)//因为每次循环都先遇到continue语句然后退出当次循环,进入下一循环,直到i=10,结束整个循环}console.log(i)//10 i=10时结束的for循环let a='10'a==10?a++:a-- //'10'==10结果为true;'10'++是数学运算console.log(a)//11console.log(typeof a)//numberlet b='10'switch (b){case 10:b++break;default:b--}console.log(b)//9let a='10'a++console.log(a)//11let b='10'b+=1console.log(b)//101let a=3console.log(5+(++a)+(a++)+3-2+(--a)+(a--)-2)//5+4+4+1+4+4-2=20console.log(a)//3
