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)()