switch语句的普通用法很简单,如下:
vara来自=3;switc价土h(a){case1:con360问答sole.log(a);break;cas假军振围超e2:case3:console.log(a)样;break;def达传严引很施专即象掌争ault:break问;}这里a和case高王行列表中从上而下逐一做比处牛环脚致周望守较,如果匹配就执行case中发分否设理教氧措看迅殖的代码,若有break则跳出,无break则继续往下匹配,直到新安志点拉值为府领百止的匹配和break或switc既史司h代码块结束。
注意:
a和case值的匹配算法是执行严格相等比较的(‘==='),通常a和case的值都是简单值。
case的值除了简单值之外,还可以是各种表达式,switch皇复检封执新(a){...}中的a会和case烧官了地日均弱茶尼前海中的表达式的结果值进行比较(“===”),由此,我们可以这样:
vara=[4],b='3';functionfo阳须也所的伤飞便画情若o(a,b){returnMath.abs(a-b)<2;}switch(true){case!(a&&b)://过滤掉a,b其中有为‘假值'的情况console.log('a:'+a,'b:'+b);break;casefoo(a,b)://当a乐,b的差值在2以内,foo函数返回trueconsole.log('a-类喜措固沙战象优脚提雨b<'+Math.ab金握宣只序编去创府粮s(a-b));casea==b:console笑丝兴盐多四.log(a+'=='+b);break;casea<b:console.log(a+'<'+b);break;casea>b:console.log(a+'>'+b);break;default:break;}以上例子中,true和每个case的表达式的值进行严格相等比较,当且仅当case表达式的值为布尔值true时才匹配,任何其他真值都不匹配。
注意:case!(a&&b):必须把&&、||运算符的结果进行显示转换为布尔值,才能匹配(因为&&、||的表达式的返回值不是布尔类型,它返回的是表达式中第一个为true、或第一个为false的那个值)
所以,只要你想得到的,只要符合规则,都能用switch实现!就是不知道这样写的代码好不好了!
以上就是小编为大家带来的switch语句的妙用(必看篇)全部内容了,希望大家多多支持脚本之家~
标签:必看,switch,妙用