Javascript 重复switch语句,直到得到有效答案

Javascript 重复switch语句,直到得到有效答案,javascript,for-loop,switch-statement,Javascript,For Loop,Switch Statement,我是一个试图用JavaScript制作文本冒险游戏的初学者,我需要重复一个switch语句,直到用户输入一个有效答案: opts=prompt(“您想说话还是看?”).toUpperCase(); 交换机(opts){ 案例“谈话”: mes=“这里有人负责吗?”; speech=“我们的领导在大楼里。”; talkNot(); 打破 案例“外观”: 窗户。警戒(“这些建筑很简单,门口比你短得多。但是,你注意到,在街道的尽头有一座很高很薄的建筑。”); 打破 违约: 警告(“这不是一个选项”)

我是一个试图用JavaScript制作文本冒险游戏的初学者,我需要重复一个switch语句,直到用户输入一个有效答案:

opts=prompt(“您想说话还是看?”).toUpperCase();
交换机(opts){
案例“谈话”:
mes=“这里有人负责吗?”;
speech=“我们的领导在大楼里。”;
talkNot();
打破
案例“外观”:
窗户。警戒(“这些建筑很简单,门口比你短得多。但是,你注意到,在街道的尽头有一座很高很薄的建筑。”);
打破
违约:
警告(“这不是一个选项”);

}
用一些函数包装代码,并在default语句中调用函数

函数运行(){
opts=prompt(“您想说话还是看?”).toUpperCase();
交换机(opts){
案例“谈话”:
mes=“这里有人负责吗?”;
speech=“我们的领导在大楼里。”;
console.log('talk'))
//talkNot();
打破
案例“外观”:
窗户。警戒(“这些建筑很简单,门口比你短得多。但是,你注意到,在街道的尽头有一座很高很薄的建筑。”);
打破
违约:
警告(“这不是一个选项”);
run()//回调
}
}
run()
您可以使用一个简单的结构

let next=false
做{
let opt=prompt(“您想说话还是看?”).toUpperCase();
下一个=假
开关(opt){
案例“谈话”:
“看”一案:
打破
违约:
下一个=真
}

}while(next)
对于case:look和default,您的逻辑是好的,对于talk,我想您已经定义了talkNot(),那么问题是什么?