问题:
前端页面报错:RangeError: Maximum call stack size exceeded 翻译是最大堆栈超过了最大值的意思
我的代码:
function getData(){
....
success:function(rtdata){
afterRendData(arg1,arg2)
}
}
function afterRendData(arg1,arg2){
...
if(arg1==arg2|| arg1<arg2){
getData();
}
}
原因:
afterRendData()方法中调用getData()时未重置参数arg1和arg2,所以(arg1==arg2|| arg1<arg2)总是true,这样形成了死循环,造成内存溢出;
解决:
在调用getData()之前重置arg1和arg2,错误解决;所以如果前端报出了该错误时,建议检查一下代码看看有没有形成死循环的地儿(死循环有可能是逻辑错误导致的,也有可能是粗心,哪段代码写错了而间接导致的...);