我是Javascript的新手,正致力于构建测验应用。所有测验问题和答案都存储在名为“测验”的对象中的数组中。我正在尝试使用循环让应用程序在点击按钮时循环查看问题。但是,我正在使用的循环似乎冻结了我的页面。对于我出错的地方有任何指示?
//sample object
quiz = {
"questions": [
{
"question":"Question 1",
"a":"Answer a1",
"b":"Answer b1",
"c":"Answer c1",
"d":"Answer d1",
},
{
"question":"Question 2",
"a":"Answer a2",
"b":"Answer b2",
"c":"Answer c2",
"d":"Answer d2",
}
]
}
//load next question on click
$("#next").click(function(){
for (i=1; i<quiz.questions.length; i.next) {
$("#question").text(quiz.questions[i].question);
};
});
答案 0 :(得分:4)
for (i=1; i<quiz.questions.length; i.next) {
i.next
不会修改i
的值。由于永远不会修改i
,因此永远不会满足第二个条件,因此循环是无限的。
改为使用i++
。
$("#question").text(quiz.questions[i].question);
每次循环时,用下一个问题替换文本。你总会得到最后一个问题。
如果您想在每次按下按钮时递增,则不应使用for
循环。
i
。for
循环i++
放在函数的末尾i >= quiz.questions.length
何时做...当你用完问题时你想做什么。i=1
关于声明i
的主题。 JavaScript数组从0
开始。您可能希望将其初始化为0
而不是1
。