Javascript 否则如何返回开始提示?

Javascript 否则如何返回开始提示?,javascript,if-statement,Javascript,If Statement,我希望下面if语句的else部分再次弹出提示。换句话说,如果用户写的不是“是”或“否”,我希望提示返回 我想你犯了一个打字错误 function showPromptBox(msg) { var str = prompt(msg) ? prompt(msg).toLowerCase() : "" ; if (str === "yes") { alert("cool."); } else if (str === "no") { alert(

我希望下面if语句的else部分再次弹出提示。换句话说,如果用户写的不是“是”或“否”,我希望提示返回


我想你犯了一个打字错误

function showPromptBox(msg) {

    var str = prompt(msg) ? prompt(msg).toLowerCase() : "" ;
    if (str === "yes") {
        alert("cool.");
    } else if (str === "no") {
        alert("goodbye.");
    } else {
        showPromptBox(msg);
    }

}

showPromptBox("Do you want to come in?");
第二种方式

var str = prompt("Do you want to come in?") ? prompt("Do you want to come in?").toLowerCase() : "";
if (str === "yes") {// typo mistake
    alert("cool.");
}
else if (str === "no") {
    alert("goodbye.");
}
else {
    var str = prompt("Do you want to come in?") ? prompt("Do you want to come in?").toLowerCase() : "";
}

您需要的是一个简单的递归函数

函数显示提示(msg){
var str=prompt(msg).toLowerCase();
如果(str==“是”){
警觉(“酷”);
}否则如果(str==“否”){
警惕(“再见”);
}否则{
showPrompt(msg);
}
}
showPrompt(“您想进来吗?”);

您可以创建三个单独的函数,每个函数用于处理不同的职责

//此函数仅显示提示符
函数showPrompt(){
返回提示(“您想进来吗?”).toLowerCase();
}
//将调用此函数以仅显示警报
函数showAlert(alertText){
警报(警报文本);
}
//将调用此函数以显示警报,然后根据
//值,它将显示警报或调用提示
函数callAlert(){
const val=showPrompt();
如果(val==‘是’){
showAlert(“酷”);
}否则如果(val=='no'){
showAlert(“再见”)
}否则{
callAlert();
}
}

callAlert()感谢您的帮助@NarendraChouhan。
var str=prompt(msg)吗?prompt(msg).toLowerCase():未定义说明三元运算符?:?
:undefined
到底是做什么的?你可以保留空字符串i,e
,而不是undefined让我修改它代码会断开,提示没有任何值,因此,我必须使用三元运算符,如果有空值,那么它将是
字符串,这样代码就不会断开。这非常清楚。这是
操作符最常见的角色吗?:
操作符?如果代码以
var str=prompt(msg)开头会怎么样"" ;仅限?
prompt(msg).toLowerCase()是否必须执行?
var str = prompt("Do you want to come in?") ? prompt("Do you want to come in?").toLowerCase() : "";
if (str === "yes") {// typo mistake
    alert("cool.");
}
else if (str === "no") {
    alert("goodbye.");
}
else {
    var str = prompt("Do you want to come in?") ? prompt("Do you want to come in?").toLowerCase() : "";
}