0

好的,所以我在搞乱数组,现在我正在尝试回答第二个问题,以提出新消息而不是“正确!” 当在这种情况下发现它正确时,如果第二个问题正确,我希望它回复“gerp”。但我不完全确定该怎么做。我在搞砸什么?

 var i = 0;

 var myArray = new Array({
   q: "What was her favorite Color?",
   a: "purple"
 }, {
   q: "gymhoaccetpptfe",
   a: "rev six nine eleven"
 });

 function myFunction() {
   var x;
   var name = prompt(myArray[i].q);
   if (name == myArray[i].a) {
     x = document.getElementById("demo").innerHTML + " " + "correct!";
     i = i + 1;
     document.getElementById("demo").innerHTML = x;
   } else if ((name == myArray[i + 1].a) {
     x = document.getElementById("demo").innerHTML + " " + "gerp!";
   } else {
     x = document.getElementById("demo").innerHTML + name + " " + "is" + " " + "wrong!";
     document.getElementById("demo").innerHTML = x;
   }
 }
4

1 回答 1

2

检查您的错误控制台 ( F12)。你在这里有一个语法错误:

else if ((name == myArray[i + 1].a)
{
...

你缺少一个结束括号。这些错误(语法错误)经常被浏览器捕获,所以一个简单的检查应该可以修复它。

另外,你没有得到输出“gerp!”的原因 是因为您将变量设置为innerHTML,但实际上并未更新innerHTML元素的 。因此,将这一行添加到else if语句和else语句中。

document.getElementById("demo").innerHTML = x;
于 2012-12-22T00:09:49.973 回答