javascript - 在 JavaScript 中使用 switch 语句性能运行函数

标签 javascript performance switch-statement

我有一个代码可以用随机数生成数学问题。我正在使用 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/

相关文章:

javascript - 在 Phonegap 中处理 .ICS 文件

javascript - VueJS 从组件方法部分的 Promise 返回值

c# - 确定数组是否包含重复值的最快方法是什么?

java - 调用链函数会产生开销吗?

javascript - 当相同的 IF 语句有效时,SWITCH 语句不起作用(Java 脚本)

java - 如何在android中使用带有 'onCheckedChanged'方法的switch语句?

javascript - 从外部检测 iframe 内的点击?

javascript - 如何使用 renderMessage、renderMessageImage 函数以及如何在消息对象为空时显示未找到的消息

C#:我应该使用 out 还是 ref 来取回这个结构?

java - 如何保存和打开 ArrayList?