对新阵列的多个响应

时间:2012-12-22 00:07:04

标签: javascript arrays loops if-statement

好的,所以我搞乱了数组,现在我正试图得到第二个问题,这个问题得到了回复,而不是“正确!”如果在这种情况下发现它是正确的,我希望它回答“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;
   }
 }

1 个答案:

答案 0 :(得分:2)

检查错误控制台( F12 )。这里有语法错误:

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

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

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

document.getElementById("demo").innerHTML = x;