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