条件成立做什么?不成立做什么
-
if/else if/else
if(条件1){ 条件1成立执行 }else if(条件2){ 条件2成立执行 } ... else{ 以上都不成立执行 } ... //条件可以多样性:等于、大于、小于的比较/一个值或者取反等 => 最后都是要计算出true/false,计算条件真假 let a=10; if(a<=0){ console.log(''); }else if(a>0 && a<10){ //A && B:A和B都成立才为ture //A || B:A或者B只有一个成立为true console.log('hehe'); }else if(a==10){ console.log('heihei'); }else { console.log('xixi'); }
-
三元运算符
简单IF/ELSE的特殊处理方式
let a=10; a>=10?console.log('hehe'):console.log('haha'); //条件?条件成立处理的事情:不成立处理的事情; //a>=10 ? console.log('hehe') : console.log('haha'); //1、如果处理的是事情比较多,用括号包起来,每一件事情用逗号分隔 //2、如果不需要处理事情,可以使用null/undefined占位 let a=10; if(a>0 && a<20){ a++; //a+=1 a=a+1 =>自身累加1 console.log(a); } a>0 && a<20?(a++,console.log(a)):null; let a=10; if(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)
-
switch case
一个变量在不同值情况下的不同操作
//1、每一种CASE情况结束后最好都加上break //2、default等价于else,以上都不成立干的事情 // 不加break,当前条件执行完成后,后面条件不论是否成立都要执行,直到遇到break为止(不加break可以实现变量在某些值的情况下做相同的事情) //3、每一种CASE情况的比较用的都是===“绝对相等” let a=10;dd switch(a){ case 1: console.log('hehe'); break; case 5 : console.log('haha'); break; case 10 : console.log('heihei'); break; default: console.log('xixi'); }
== VS ===
-
==:相等(如果左右两边数据值类型不同,是默认先转为相同的类型,然后比较)
'5' == 5 => true
-
===:绝对相等(如果类型不一样,肯定不相等,不会默认抓换数据类型)
'5' === 5 => false
项目中为了保证业务的严谨,推荐使用===