Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS:promp thet用户输入,直到他们输入参数中指定的有效值_Javascript_Loops_For Loop_If Statement_Do While - Fatal编程技术网

Javascript JS:promp thet用户输入,直到他们输入参数中指定的有效值

Javascript JS:promp thet用户输入,直到他们输入参数中指定的有效值,javascript,loops,for-loop,if-statement,do-while,Javascript,Loops,For Loop,If Statement,Do While,我的脚本应该提示用户输入性别,如果性别是'M'或'F',它将返回。如果有任何其他输入,则必须继续提示,直到输入任何一个值 function getGender() { var yourGender = prompt('Enter your gender (M / F)'); var choice = yourGender; if (choice = 'M' || 'F') { return choice; } else do { var your

我的脚本应该提示用户输入性别,如果性别是'M'或'F',它将返回。如果有任何其他输入,则必须继续提示,直到输入任何一个值

function getGender() {
    var yourGender = prompt('Enter your gender (M / F)');
    var choice = yourGender;

if (choice = 'M' || 'F') {
    return choice;
} else
    do {
        var yourGender = prompt('Enter your gender (M / F)');
    }
    while (choice != 'M' || 'F') {

    }
}

我不知道提示部分是否正确,但是do while部分应该是这样工作的。

A
do while
循环与
while
循环不同,看起来您混淆了它们的语法。以下是MDN中的一个使用示例:

此外,当使用逻辑运算符检查true或false时,必须根据每个条件检查变量。您的功能应该简单得多:

function getGender() {
  do {
    var yourGender = prompt('Enter your gender (M / F)').toLowerCase();
  } while (yourGender !== 'm' && yourGender !== 'f');

  return yourGender;
}
函数getGender(敏感){ 让性别; 设pat=sensitive?/[MF]/:/[MF]/i; 做 { 性别=提示(“输入您的性别(男/女)”,“”; }而(!gender.match(pat)); 返回性别; } /*区分大小写 getGender(敏感=真); //*/ //*不区分大小写 getGender(敏感=假);
//*/这很有效,谢谢。是的,应该更简单一些,谢谢你的帮助。您知道如何使提示符不区分大小写吗?i、 当然,我已经用
.toLowerCase()
更新了答案。您只需将其添加到提示符的末尾,然后更改小写“m”和“f”的条件检查。您知道如何使提示符不区分大小写吗?i、 e到小写?只需添加&&yourGender!='你的性别在iff中,您知道如何使提示符不区分大小写吗?i、 e-toLowerCase?
function getGender() {
  do {
    var yourGender = prompt('Enter your gender (M / F)').toLowerCase();
  } while (yourGender !== 'm' && yourGender !== 'f');

  return yourGender;
}