gpt4 book ai didi

Javascript - 进行开关 : default restart prompt

转载 作者:行者123 更新时间:2023-11-28 00:07:20 25 4
gpt4 key购买 nike

我想问用户一个简单的问题:

// Write your code below!
var food = prompt("Do you like waffles?");

switch (food) {
case "yes":
case "Yes":
alert("Good!");
break;
case "no":
case "No":
alert("But why!");
break;
default:
var food = prompt("That's not an answer, Do you like waffles?");
break;
}

默认有效,但只能执行一次。如果用户输入的答案不是无限地是或否,我想重新提示他/她。这是怎么回事?

最佳答案

function askForFood( questionArgument ){
var food = prompt( questionArgument );
switch (food.toLowerCase()) { // be DRY! Use lowercase!
case "yes": // And lowercase it is!
alert("Good!");
break;
case "no":
alert("But why!");
break;
default:
askForFood("That's not an answer, Do you like waffles?"); // to hell with it
break;
}
}

askForFood("Do you like waffles?"); // First time ask nicely

为什么上面的方法有效?
使用能够多次重复工作的函数
只需将您的“问题” 作为参数传递给函数即可。
case default: 使用相同的函数调用,但这次使用不同的问题。

P.S:由于使用了toLowerCase(),用户还可以编写“yeS”,您的程序将与 friend 一起玩球而无需太在意...

<小时/>

如果不是为了学校,你也可以使用你的代码并这样做(我喜欢它!),如下所示:

var questionary = {
"yes" : "Good!",
"no" : "But why!",
};

function askForFood( question ){
var answer = prompt( question ).toLowerCase();
if(answer in questionary) alert( questionary[answer] ); // Self explanatory
else askForFood( "That's not an answer" ); // ♫ do it again!
}
askForFood("Do you like waffles?");

关于Javascript - 进行开关 : default restart prompt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31225537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com