如何调用循环内部的函数,必须留在那里



我知道这可能是一个la脚的问题,但是我坚持了如何从循环内的函数中获取值的想法。你们可以阐明我该怎么办?

代码看起来像这样:

  function radioCreator(){
  //creates radio button
  }
  function main(){
   for (i = 0; i < nQ; i++) {
      radioCreator("answerOption", "answer" + (i + 1));
      for (j = 0; j < nA; j++) {
      //here I got some more code 
           function finished(){
               for (i = 0; i < nQ; i++) {
                   for (j = 0; j < nA; j++) {
            if (document.getElementsByName("answer"+ (i + 1))[j].checked.value == true){
                goodAnswers ++;
                console.log(goodAnswers);
            } else {
                console.log("No good answers");
            }
                             }
                        }
                    }
                  }
             }
      }
      function getAnswers(){
      finished();
      console.log(goodAnswers);
      }

我想做的是,单击一个按钮后,我要执行 getAnswers((函数,但它说:

 Uncaught ReferenceError: finished is not defined

我得到哪个,但我想知道:我想获得goodanswers的变量值,我如何从循环外部执行funcion denher((

尝试添加this.finished = finished使finished()公共方法

只需将方法移到循环外,然后将指针传递到函数。

main函数中使用一些返回对象像这样,称finished功能为main().finished()

function radioCreator() {
//creates radio button
}
function main() {
for (i = 0; i < nQ; i++) {
  radioCreator("answerOption", "answer" + (i + 1));
  for (j = 0; j < nA; j++) {
    //here I got some more code 
return {
   finished : function() {
      for (i = 0; i < nQ; i++) {
        for (j = 0; j < nA; j++) {
          if (document.getElementsByName("answer" + (i + 1))[j].checked.value == true) {
            goodAnswers++;
            console.log(goodAnswers);
          } else {
            console.log("No good answers");
          }
        }
      }
    }
    }
  }
}
}
function getAnswers() {
main().finished();
console.log(goodAnswers);
}

相关内容

最新更新