Javascript:有没有一种方法可以在其他函数中选择开关情况?

Javascript:有没有一种方法可以在其他函数中选择开关情况?,javascript,Javascript,这是代码的中断部分: addSkillButton(stonewall); 我从其他函数调用的对象参数工作正常。它转到switch语句,选择正确的大小写,并执行代码。但是,我遇到的问题是addSkillButton()函数。我可以手动输入一个对象,它会很好地工作,但我的技能系统是动态的。我需要它根据案例编号提取对象名称 如果你看下面的代码,你会注意到技能深挖和石墙都位于位置1。当用户尝试升级时,这些技能会在子菜单中弹出。这在开场白中效果很好,但是选择和添加技能变得很棘手,因为我不确定如何告诉j

这是代码的中断部分:

addSkillButton(stonewall);
我从其他函数调用的
对象
参数工作正常。它转到switch语句,选择正确的大小写,并执行代码。但是,我遇到的问题是
addSkillButton()
函数。我可以手动输入一个对象,它会很好地工作,但我的技能系统是动态的。我需要它根据案例编号提取对象名称

如果你看下面的代码,你会注意到技能
深挖
石墙
都位于位置1。当用户尝试升级时,这些技能会在子菜单中弹出。这在开场白中效果很好,但是选择和添加技能变得很棘手,因为我不确定如何告诉javascript选择了什么案例编号,所以在位置1中选择该对象名称

这就是我希望它说的或做的:

addSkillButton(Get Object in Position 1 from Case Number)
这是我的密码:

只需使用数组

var skills;
switch(object) {
    case strike:
        skills = [deepcut, balancedstrike, fury];
        break;
    case defend:
        skills = [stonewall, digin, holdtheline];
        break;
    default:
        throw new Error("Invalid condition");
}
for( var i=0, l=skills.length; i<l; i++) {
    radialSubMenuSkills("position"+(i+1), skills[i]);
}
$("#upgradeSkillsBar").on("click", "#position1", function() {
    removeSkillButton(object);
    addSkillButton(skills[0]);
    removeRadialSubMenu();
});
var技能;
开关(对象){
案件罢工:
技能=[深切、平衡击、狂怒];
打破
案件辩护:
技能=[stonewall,digin,holdtheline];
打破
违约:
抛出新错误(“无效条件”);
}

对于(var i=0,l=skills.length;我能不能请你安排你的问题,使其具有合理的逻辑顺序?“这是中断的部分”不是故事的开始。你最好使用数组或对象数组和映射。开关只是一个条件,如if、else、while等。
var skills;
switch(object) {
    case strike:
        skills = [deepcut, balancedstrike, fury];
        break;
    case defend:
        skills = [stonewall, digin, holdtheline];
        break;
    default:
        throw new Error("Invalid condition");
}
for( var i=0, l=skills.length; i<l; i++) {
    radialSubMenuSkills("position"+(i+1), skills[i]);
}
$("#upgradeSkillsBar").on("click", "#position1", function() {
    removeSkillButton(object);
    addSkillButton(skills[0]);
    removeRadialSubMenu();
});