Javascript 运行不确定的随机if条件?

Javascript 运行不确定的随机if条件?,javascript,Javascript,您好,我正在用JavaScript制作一个问题表单,我正在努力使它能够正常运行,这样问题就不会以随机排序的顺序停在4。所以每次一个随机的问题以随机的顺序被问到,而且永远不会结束。我正在循环if语句中运行代码 var questionNum=0; var问题='你叫什么名字?'; var output=document.getElementById('output'); output.innerHTML=问题; 函数bot(){ var输入=document.getElementById(“输入

您好,我正在用JavaScript制作一个问题表单,我正在努力使它能够正常运行,这样问题就不会以随机排序的顺序停在4。所以每次一个随机的问题以随机的顺序被问到,而且永远不会结束。我正在循环if语句中运行代码

var questionNum=0;
var问题='你叫什么名字?';
var output=document.getElementById('output');
output.innerHTML=问题;
函数bot(){
var输入=document.getElementById(“输入”).value;
控制台日志(输入);
if(questionNum==0){
var audio=新音频('music/openmind.ogg');
音频播放();
output.innerHTML='Hello'+input+'!';
document.getElementById(“输入”).value=“”;
问题=‘你多大了?’;
设置超时(timedQuestion,2000);
}
else if(questionNum==1){
output.innerHTML='这意味着您出生在'+(2017-input)+';
document.getElementById(“输入”).value=“”;
问题='你从哪里来?';
设置超时(timedQuestion,2000);
}
else if(questionNum==2){
var audio=新音频('music/beone.ogg');
音频播放();
output.innerHTML='您来自'+(输入)+';
document.getElementById(“输入”).value=“”;
问题=‘你吃得健康吗?’;
设置超时(timedQuestion,2000);
}
else if(questionNum==3){
var audio=新音频('music/beging.ogg');
音频播放();
output.innerHTML='根据我的数据,你正在吃'+(输入)+',这是健康的!'
}
}
函数timedQuestion(){
output.innerHTML=问题;
}
$(文档)。按键(功能(e){
如果(e.which==13){
bot();
问题数++;
}
});
正文{
背景色:#8dd8f8;
}
h1,p{
文本对齐:居中;
颜色:#323330;
字体大小:100px;
}
p{
字体大小:30px;
}

回应:

如果问题及其回答放在对象中而不是使用
If..else
结构,代码(和可维护性)将变得容易得多。 也许我把音频弄混了,但想法是一样的:每个对象都包含问题、可选音频文件和响应函数:

让问题=[
{文本:'What is your name?',音频:'music/openmind.ogg',响应:input=>'Hello'+input+'!'},
{text:'you'mdold are?',response:input=>'这意味着你出生在'+(2017-input)+'.},
{文本:'your from',音频:'music/beone.ogg',响应:input=>'your from'+(input)+'.},
{文本:“你吃得健康吗?”,音频:“music/beging.ogg”,回复:input=>“根据我的数据,你正在吃”+(input)+“那是健康的!”)
];
让输出=$(“#输出”),
输入=$(“#输入”),
问题;
函数ask(){
让qi=Math.floor(Math.random()*questions.length);//根据您的需要,如果您直接在前面问过,或者只在所有问题都被问到时才循环使用,则可以添加检查
curQuestion=问题[qi];
setOutput(curQuestion.text);
input.val(“”);
}
问()//第一个电话
函数respond(){
设q=curQuestion;
中频(q.audio)
新音频(q.Audio).play();
setOutput(q.response(input.val());
设置超时(ask,2000);
}
函数设置输出(txt){
html($('').text(txt));
}
$(文档)。按键(功能(e){
如果(e.which==13){
回应();
返回false;
}
});
正文{
背景色:#8dd8f8;
}
h1,p{
文本对齐:居中;
颜色:#323330;
字体大小:100px;
}
p{
字体大小:30px;
}

回应: