js中函数怎么简介匹配

if(a == 1)func1()
else if(a == 2) func2()
else if (a == 3) func3()
.
.
.
请问有类似这种情况的时候、如何更简单的匹配函数呢。

a==1?func1():a == 2?func2():a == 3?func3()

试试eval()方法方法
eval(‘func’ + a)

https://blog.csdn.net/tang242424/article/details/111614265

用switch算是一种优化,实际上基本所有编程语言都推荐在这种情况下用switch

对于对应关系比较多的有时候我会用map,但是这种方法普适性没那么强,有时候是不能用的

function a1() {
    console.log('a1');
}function a2() {
    console.log('a2');
}function a3() {
    console.log('a3');
}function a4() {
    console.log('a4');
}
const funMap = new Map([
    [1,a1],
    [2,a2],
    [3,a3],
    [4,a4],
])
funMap.get(1)()
funMap.get(2)()
funMap.get(3)()
funMap.get(4)()