Javascript 简单HTML表单中的永恒循环创建循环

Javascript 简单HTML表单中的永恒循环创建循环,javascript,jquery,loops,Javascript,Jquery,Loops,我试着用JSON数据生成3个选择题的简单代码, 由于我无法理解的原因,所发生的是一个永恒的循环,在这个循环中,最后一个问题被一次又一次地写到页面上,直到页面崩溃。。。 非常感谢您的帮助和建议 var questions = { "qestion":["what is bla?", "what is bla bla?", "what is bla bla bla?"], "answer":[["aaa","bbb","ccc","ddd"], ["eee","fff","ggg","hhh"],

我试着用JSON数据生成3个选择题的简单代码, 由于我无法理解的原因,所发生的是一个永恒的循环,在这个循环中,最后一个问题被一次又一次地写到页面上,直到页面崩溃。。。 非常感谢您的帮助和建议

var questions = {
"qestion":["what is bla?", "what is bla bla?", "what is bla bla bla?"],
"answer":[["aaa","bbb","ccc","ddd"], ["eee","fff","ggg","hhh"], ["zzz","xxx","yyy","www"]],
"correctAns":[1,2,3]};

String.prototype.format = function() {
    var formatted = this;
    for (i=0; i< arguments.length; i++) {
        var regexp = new RegExp('\\{'+i+'\\}', 'gi');
        formatted = formatted.replace(regexp, arguments[i]);
        }
    return formatted;
};

function writeQuestions() {

    for (i=0 ;i<=2; i++) {

            answerRdy = [];
            qestionRdy = questions.qestion[i];
            answerRdy[0] = questions.answer[i][0];
            answerRdy[1] = questions.answer[i][1];
            answerRdy[2] = questions.answer[i][2];
            answerRdy[3] = questions.answer[i][3];
            divID = "question-" + i;

                writeAnswer = [];
                writeAnswer[writeAnswer.length] = ("\n<div id='{0}'>\n<form method='post' onsubmit='return validate(this);'>\n").format(divID);
                writeAnswer[writeAnswer.length] = ("<b>" + qestionRdy + "</b><br />\n");
            for (n=0; n<=3; n++) {
                writeAnswer[writeAnswer.length] = ("<input type='radio' name='answer' value='{0}' /> {1} <br />\n").format(n, answerRdy[n]);
                    }
                writeAnswer[writeAnswer.length] = ("<input type='submit' value='Submit your answer'>\n</form>\n</div><!--{0}-->").format(divID);


            joinQuestion = writeAnswer.join();
                exp = /,/gi;
            fullQuestion = joinQuestion.replace(exp, "");

        $('#container').append(fullQuestion);
    }
}
var问题={
“qestion:[“什么是bla?”,“什么是bla-bla?”,“什么是bla-bla?”],
“答案”:[“aaa”、“bbb”、“ccc”、“ddd”]、[“eee”、“fff”、“ggg”、“hhh”]、[“zzz”、“xxx”、“yyy”、“www”],
“校正者”:[1,2,3]};
String.prototype.format=函数(){
var格式化=这个;
对于(i=0;ifor(i=0;i是否可以,因为有两个for循环使用未声明的全局变量“i”

它最有可能在哪里

for (var i=0...

我将你的循环更改为声明迭代的局部变量,并将终止长度链接到适当的对象,这似乎起到了作用。例如:

for (i=0 ;i<=2; i++) {

for(i=0;iThanx,但我应该更改哪个?String.prototype.format还是writeQuestions()?
for (i=0 ;i<=2; i++) {
for (var i = 0, len = questions.answer.length; i < len; i++) {