gpt4 book ai didi

Javascript:TypeError 变量未定义

转载 作者:数据小太阳 更新时间:2023-10-29 06:02:59 24 4
gpt4 key购买 nike

我目前正在构建一个跨所有模块具有相似功能的小型网络应用程序。我想编写小型通用函数,以便我旁边的所有程序员调用这些函数,这些函数返回必要但重要的数据,以便他们实现其功能。在这个例子中,我试图处理典型的“选择真或假”练习。所以他们从 template.php 调用这个函数:

function checkAnswers(){
var radiobuttons = document.form1.exer1;
var correctAnswers = answers(); //this is an array of string
var checkedAnswers = checkExerciseRB(radiobuttons, 2, correctAnswers);
for(i=0; i<checkedAnswers.length; i++){
alert(checkedAnswers[i]);
}
}

函数 checkExerciseRB 是我的通用函数,它是从 checkAnswers 调用的。

function checkExerciseRB(rbuttons, opciones, correct){
var answers = new Array();
var control = 0;
for(i=0; i<rbuttons.length; i++){
var noPick="true";
for(j=0; j<opciones; j++){
if(rbuttons[control+j].checked){
if(rbuttons[control+j].value==correct[i]){
answers[i]= 1;
noPick="false";
break;
}
else{
answers[i]=2;
noPick="false";
break;
}
}
}
if(noPick=="true")
answers[i]=0;
control=control+opciones;
}
return answers;
}

它运行良好,但在查看我最喜欢的浏览器(FireFox、Chrome)时,错误日志显示:

TypeError: rbuttons[control + j] is undefined

关于如何处理此事的任何线索?

最佳答案

这大概意味着control + j大于等于数组rbuttons的长度。没有 rbuttons[control + j] 这样的数组元素。

您应该学习如何在您最喜欢的浏览器中使用 JavaScript 调试器!调试器很棒。它们让您可以逐行观察这段代码的运行速度,快慢随您喜欢,并观察 control 的值如何随您的变化而变化。

你会看到它,你会想“哦! 行代码是错误的!”

关于Javascript:TypeError 变量未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11586064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com