前端js 中if else 优化
Posted 那年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端js 中if else 优化相关的知识,希望对你有一定的参考价值。
if else 写多了,没别的就是恶心
1. 三元运算 ,或方式
if(flag){
a=b
}else{
a=c
}
==> a=a || b
或者 a= flag? b: c
2.数组匹配方式
后台接口通常会返回这种数据:
fruit: 0 // 0=苹果,1=梨子,2=桔子,3=柠檬,4=芒果...
var _f = [\'苹果\',\'梨子\',\'桔子\',\'柠檬\',\'芒果\'];
shuiguo = _f[fruit];
3. switch case方式
if (res.state === \'SUCCESS\') {
//TODO
} else if (res.state === \'FAIL\') {
//TODO
} else {
//TODO
}
优化使用switch case
switch (res.state) {
case \'SUCCESS\':
//TODO
break;
case \'FAIL\':
//TODO
break;
default :
//TODO
}
4. 哈希表的方式
if (key == "Apple") {
val = "Jobs";
} else if (key == "microsoft"){
val = "Gates";
} else if (key == "Google"){
val = "Larry";
}
可以用hash
var ceos = {"Apple":"Jobs", "microsoft":"Gates", "Google":"Larry"};
val = ceos[key];
5. new Map 方式也可以
上面的案例 可以改成
let map = new Map([
[\'Apple\' , \'Jons\'] ,
[\'microsoft\' , \'Gates\'] ,
[\'Google\' , \'Larry\']
])
let val = null
let tmp = \'Apple\'
for (const [key, value] of map) {
if (tmp == key) {
val = value
}
}
原文 自己又补充了一个 :https://segmentfault.com/a/11...
以上是关于前端js 中if else 优化的主要内容,如果未能解决你的问题,请参考以下文章
前端if else之优化多条条件判断代码,为你的项目提速吧!