我有以下导致Internet Explorer冻结的代码。这是一个涉及将学生成绩作为作业进行处理的项目:
var array1 = StudentGradeAreadHugeList();
var nextArrayItem = function() {
var grade = array1.pop();
if (grade) {
nextArrayItem();
}
};
我希望你能帮助我。
最佳答案
您可以显示有关您要执行的应用程序的更多信息。但是我相信这是堆栈溢出的问题(也许您使用的是一个很大的列表)。因此,要克服这一点,您应该修改“ nextArrayItem”:window.setTimeout (nextArrayItem, 0)
冻结主要是由大数据引起的,但是现在事件循环将处理递归过程,而不是您的调用堆栈。