Jquery 在函数内的开关内调用函数
我有一个函数返回随机结果,根据这个结果,我想调用另一个函数,但它现在不起作用:Jquery 在函数内的开关内调用函数,jquery,Jquery,我有一个函数返回随机结果,根据这个结果,我想调用另一个函数,但它现在不起作用: $(document).ready(function () { $('#classbutton').click(function () { $('#resultclass').text(classX()); }); }); function subkrieger() { var subkriegerNumber = Math.floor((Math.random()*2)+1);
$(document).ready(function () {
$('#classbutton').click(function () {
$('#resultclass').text(classX());
});
});
function subkrieger() {
var subkriegerNumber = Math.floor((Math.random()*2)+1);
switch (subkriegerNumber) {
case 1:
return "Berserkerin";
case 2:
return "Duellantin";
}
}
function classX() {
var classNumber = Math.floor((Math.random()*2)+1);
switch (classNumber) {
case 1:
return "Kriegerin";
return subkrieger();
case 2:
return "Mystikerin";
}
}
<button id="classbutton">Archetyp</button>
<div id="resultclass" class="results"></div>
$(文档).ready(函数(){
$(“#类按钮”)。单击(函数(){
$('#resultclass').text(classX());
});
});
函数subkrieger(){
var subkriegerNumber=Math.floor((Math.random()*2)+1);
开关(subkriegerNumber){
案例1:
返回“狂暴”;
案例2:
返回“Duellantin”;
}
}
函数classX(){
var classNumber=Math.floor((Math.random()*2)+1);
开关(类别号){
案例1:
返回“Kriegerin”;
返回subkrieger();
案例2:
返回“Mystikerin”;
}
}
原型
因此,第一个函数用于为第二个函数获取子fantasyclass,它随机返回一个FantasyRPG类。我尝试调用第二个函数的案例1中的第一个函数来尝试它,但什么都没有发生。
我做错了什么
也许有一种方法比拥有一堆开关更优雅?这就是你的问题:
return "Krieger";
return subkrieger();
break;
您将返回一个字符串,该字符串将结束该函数的执行,因此您永远无法访问subkrieger()
调用
如果删除返回“Krieger”
行,它将调用。如果您想要两者(比如说Krieger-Berserkerin
),那么您需要将它们连接(添加)在一起:
return "Krieger " + subkrieger();
或使用ES6样式:
return `Krieger ${subkrieger()}`;
旁注:在返回之后有一个中断;
是多余的,因为它无论如何都不会到达中断,所以只需关闭它并执行以下操作:
case:
return "Krieger";
请提供一个仍然显示您的问题的最小示例。我添加了代码的最小剩余部分。代码的最小数量不是最大数量!非常抱歉,我误解了。我缩短了它。感谢您的回答,我现在看到了我的错误,但您的解决方案不起作用。它返回:“Krieger”+subkrieger()很抱歉,在我的第一个示例中输入了错别字。它不应该有背景标记。我已经修复了它。