永远不会以循环javascript结束

时间:2015-01-22 21:59:38

标签: javascript for-loop

为什么这个循环永无止境?每个部分可能有也可能没有子部分,这些部分与部分属于同一类.for语句的工作非常奇怪。它一直直到list.append('<label class="heading">' + theSection.description + '</label><br/><hr><br/>');。如果没有小节,则不应该这样做。

function createAssessmentSectionFormHTML(section) {
    var list = $('#assessmentSectionForm' + platform);
     appendSection(section, list);
}

function appendSection(theSection, list) {
    list.append('<label class="heading">' + theSection.description + '</label><br/><hr><br/>');
    appendSectionQuestions(theSection, list);
    if (theSection.allSubSections) {
        for (x = 0; x < theSection.allSubSections.length; x++) {
            var theSectionA = theSection.allSubSections[x];
            appendSection(theSectionA, list);
        }
        return;
    }
}

1 个答案:

答案 0 :(得分:2)

我相信你的for循环中缺少一个“var”:

for (var x = 0; x < theSection.allSubSections.length; x++) {

这应该可以解决问题 - 因为没有声明x,所以它无限运行。未定义总是小于任何长度,因此没有终点。