要求用户选择“男孩”或“女孩”

时间:2014-10-11 02:23:14

标签: javascript prompt

我想让我的用户回答问题"你是男孩还是女孩?"选择其中一个并强迫他们选择其中一个。

我认为我正朝着正确的方向前进,但每当我运行我的代码时,如果选择第二个选项,它就会打嗝。

我做错了什么?

var gender = prompt("Are you a boy or a girl?").toLowerCase();
while (gender !== ("boy" || "girl")) {
    gender = prompt("Please only respond with boy or girl. Now, are you a boy or a girl?");
}

2 个答案:

答案 0 :(得分:1)

我个人喜欢

var gender = prompt("Are you a boy or a girl?").toLowerCase();

while (["boy", "girl"].indexOf(gender) == -1) {
  gender = prompt("Please only respond with boy or girl. Now, are you a boy or a girl?");
}

答案 1 :(得分:0)

正确的条件是

while (gender !== 'boy' && gender !== 'girl'){

因为("boy" || "girl")总是以" boy"结束,因此while看起来像while(gender !== 'boy')。在这种情况下,||称为"默认"运算符,巧妙地使用逻辑OR。如果左侧的值是真实的,它将使用左侧值。否则,它将评估(因此"默认")右侧。