使用for循环调用函数时浏览器崩溃
Browser crash when calling for a function with a for-loop
我试图显示一个问题的正确答案是什么,如果选择了错误的一个。我在JSON-object列表中存储了5个问题,并将用户选择的内容存储在数组中。
我用来附加已回答内容的函数是:
function userAnswers(){
$("#result").append('<div id="yourAnswers"></div>');
//rememberAnswer is the name of the array that have stored the data during the quiz
for(i = 0; i < rememberAnswer .length; i++){
$("#yourAnswers").append('<p>'+rememberAnswer [i][0]+'</p>');
if(rememberAnswer [i][2] == 1){
$("#yourAnswers").append('<p style="color: green;">'+rememberAnswer [i][1]+'</p><br/>');
} else {
$("#yourAnswers").append('<p style="color: red;">'+rememberAnswer [i][1]+'</p><br/>');
//$("#yourAnswers").append('<p style="color: green;">The correct answer is: '+ correct([i])+'</p>');
// This makes the browser crash when
}
}
}
correct()
的函数function correct(id){
var test = quiz.question[id].answers; //Getting the answers from JSON-list
var text;
for(i = 0; i < test.length; i++){
if(test [i].correct_answer == 1){
text = test[i].answer;
break;
}
}
return text;
}
有趣的是,如果我在json列表中只有一个问题,它就会全部工作。但是当我尝试同时执行这五个脚本时,浏览器崩溃了。
你没有声明你的循环变量("i"):
for(var i = 0; i < test.length; i++){ // <-- add the "var" keyword
因此,变量"i"是全局的,所以"正确的"函数践踏变量的值。两个函数都应该用var
声明"i"
相关文章:
- 为什么这会造成一个无休止的循环并使我的浏览器崩溃
- javascript audio currentTime使一些浏览器崩溃
- 在浏览器崩溃之前检测到内存耗尽
- 输入输入前浏览器崩溃
- three.js内存泄漏/浏览器崩溃
- Ajax 请求仪表板页面上的浏览器崩溃
- set超时在“while”内会导致浏览器崩溃.我怎样才能避免它
- 设置设置间隔函数正在运行并导致浏览器崩溃
- 高效的Javascript组合函数,不会使浏览器崩溃
- 我的脚本使浏览器崩溃
- SlickGrid在选择大范围的行时使浏览器崩溃
- setInterval 在运行用户脚本时使我的浏览器崩溃
- 添加依赖项后浏览器崩溃
- Javascript/Jquery代码使我的浏览器崩溃
- 无限滚动会导致浏览器崩溃吗?
- 为什么这 while 循环会使浏览器崩溃
- 设置间隔导致浏览器崩溃
- JavaScript函数使我的浏览器崩溃
- 旧的JavaScript函数使浏览器崩溃
- 如何使用 IndexedDB 制作一个很长的字符串而不会使浏览器崩溃