問題:
前端頁面報錯: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,錯誤解決;所以如果前端報出了該錯誤時,建議檢查一下代碼看看有沒有形成死循環的地兒(死循環有可能是邏輯錯誤導致的,也有可能是粗心,哪段代碼寫錯了而間接導致的...);