Javascript 否则如何返回开始提示?
我希望下面if语句的else部分再次弹出提示。换句话说,如果用户写的不是“是”或“否”,我希望提示返回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(
我想你犯了一个打字错误
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() : "";
}