js報錯:Maximum call stack size exceeded error

問題:

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章