我正在研究Javascript。 我需要一个建议来解决这个问题。
当答案是B或C时,我想显示两个不同的提示。 我的代码出了什么问题?
function whatBring() {
if (prompt('What brings Little Red Riding Hood in the basket? A: Food - B: Book - C:Carbon') == 'A') {
alert('bene, conosci la storia!');
} else if (prompt(''What brings Little Red Riding Hood in the basket? A: Food - B: Book - C:Carbon') == 'B'){
alert('Hint: it's not correct!');
} else if (prompt(''What brings Little Red Riding Hood in the basket? A: Food - B: Book - C:Carbon') == 'C'){
alert('Hint: it's not correct!');
}
}
感谢您的帮助!
答案 0 :(得分:1)
问题(除语法错误外,请参阅问题中的突出显示)是您反复重新提示。
如果您只想提示一次,然后检查各种值,您有两个选择:
使用switch
:
switch (prompt(/*...*/)) {
case 'A':
// alert for A
break;
case 'B':
// alert for B
break;
case 'C':
// alert for C
break;
default:
// alert if it's none of the above
break;
}
记住变量中的值,然后检查变量:
var answer = prompt(/*...*/);
if (answer === 'A') {
// alert for A
}
else if (answer === 'B') {
// alert for B
}
else if (answer === 'C') {
// alert for C
}
else {
// alert if it's none of the above
}
答案 1 :(得分:1)
function whatBring()
{
var response = prompt('What brings Little Red Riding Hood in the basket? A: Food - B: Book - C:Carbon');
if (response == 'A') {
alert('bene, conosci la storia!');
}
else
{
// All other responses are incorrect.
alert('Hint: it's not correct!');
}
}
答案 2 :(得分:0)
进行单个提示调用,捕获变量的输入并比较:
function whatBring() {
var input = prompt('What brings Little Red Riding Hood in the basket? A: Food - B: Book - C:Carbon') == 'A');
if (input == "A") {
} else if (input == "B") {
} else if (input == "C") {
}
}
答案 3 :(得分:0)
您正在使用三个prompt
次调用,因此如果第一次调用不正确,则会显示另一个提示,而不是根据三个不同的值检查一个提示中的值。
将提示中的结果放在变量中,以便您可以在所有条件下使用它:
var answer = prompt('What brings Little Red Riding Hood in the basket? A: Food - B: Book - C:Carbon');
if (answer == 'A') {
... and so on
答案 4 :(得分:0)
您可能会根据用户的回答提示3次。您应该提示一次,然后将响应存储在变量中,然后使用该变量在if语句中进行比较。
var promptAnswer = prompt("What brings Little Red Riding Hood in the basket? A: Food - B: Book - C:Carbon");
if (promptAnswer == 'A')
else if (promptAnswer == 'B')