我的脚本中`for`和`while`循环有什么区别

Kan*_*ane -3 javascript

我有一个JavaScript函数,它将一些input标记收集到一个数组中,然后决定是否已经选择了其中一个:

function validateAnswerSelected () {
    var formValid = false;
    var groupedInput = document.getElementsByName("choice");
    var i;

    // while (!formValid && i < questions[questionNumber].choices.length) {
    //  if (groupedInput[i].checked) {
    //      formValid = true;
    //  }
    //  i++;
    // }

    // for (i = 0; questions[questionNumber].choices.length; i++) {
    //  if (groupedInput[i].checked) {
    //      formValid = true;
    //  }
    // }

    if (!formValid) {
        alert("select an answer");
    }
}
Run Code Online (Sandbox Code Playgroud)

当我取消注释while循环时,该功能正常工作.但是当我取消注释时,for循环groupedInput变得不确定.

这有什么区别?

编辑:当我取消注释时,while我会初始化i变量.我在问题中犯的错误只是一个错字.

Cer*_*rus 5

错字:

for (i = 0; questions[questionNumber].choices.length; i++) {
Run Code Online (Sandbox Code Playgroud)

应该:

for (i = 0; i < questions[questionNumber].choices.length; i++) {
//           ^ You forgot the `i <`
Run Code Online (Sandbox Code Playgroud)

  • `while`也是一个问题他不会内化`我` (4认同)