javascript - 如何让switch语句更加高效?

标签 javascript

我有以下代码

//var r, t, y, f, g, h, c, v, b
    switch(event.key) {
        case 'r' : input.execute("game_stats_build " + r);
        break;
        case 't': input.execute("game_stats_build " + t);
        break;
        case 'y': input.execute("game_stats_build " + y);
        break;
        case 'f': input.execute("game_stats_build " + f);
        break;
        case 'g': input.execute("game_stats_build " + g);
        break;
        case 'h': input.execute("game_stats_build " + h);
        break;
        case 'v': input.execute("game_stats_build " + v);
        break;
        case 'b': input.execute("game_stats_build " + b);
        break;
      }

这是多余的,每次我进行更改时,我都必须进行大量输入。我怎样才能写得更好?

最佳答案

你可以这样做:

input.execute("game_stats_build " + window[event.key])

但是您应该将这些值保存在对象中,而不是使用窗口

例如,而不是:

var t = "something";
var r = "something else"

用途:

var obj = {t: "something", r: "something else"} 

然后:

input.execute("game_stats_build " + obj[event.key])

关于javascript - 如何让switch语句更加高效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51822408/

相关文章:

javascript - 当我的javascript修改html并显示AJAX结果时,如何在新页面中显示结果?

javascript - 当 myarray 在一个框架中时,为什么 myarray instanceof Array 和 myarray.constructor === Array 都为 false?

javascript - 如何匹配一个对象的多个属性

javascript - 我的 js 弹出窗口无法动态工作

javascript - 提取div所有属性的正则表达式

javascript - 使用 AngularJS 在 Chrome 中中断变量更改

javascript - 无法在此代码中获取 this.value

javascript - jQuery 在使用动画功能时为 div 添加背景

Javascript:对象还是Object.prototype?

javascript - jQuery 附加到动态创建的子 div