我知道这可能是一个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);
}