我有一个代码可以用随机数生成数学问题。我正在使用 switch 语句来选择应生成哪个任务。
function genTask(taskid) {
switch (taskid) {
case 1:
// generate some numbers
return numbers;
break;
case 2:
// generate some numbers
return numbers;
break;
// ...
}
}
我认为当我添加 150 多个案例时可能会出现一些性能问题。这段代码适用于所有情况吗?如果每个任务都有单独的函数,不是会更快吗?
function task1() {
// generate some numbers
return numbers;
}
function task2() {
// ...
}
function genTask(taskid) {
switch (taskid) {
case 1:
return task1();
break;
case 2:
return task2();
break;
// ...
}
}
有没有更快的方法来做到这一点?
最佳答案
总的来说,我认为“数组”的性能比“if/else”或“switch”要好。请参阅下面的引用。在您的具体情况下,如果您将 if/else 与 switch 进行比较,那么 switch 更好。
使用函数不会影响性能(我认为),但它更好、更可取,因为代码会更干净和可读。
引用:https://www.oreilly.com/library/view/high-performance-javascript/9781449382308/ch04.html
关于javascript - 在 JavaScript 中使用 switch 语句性能运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57649063/