它發生了。您編寫了一點代碼,然後在控制台或 Chrome 開發人員工具中收到一個錯誤,指示 uncaught rangeerror: the maximum size of the call stack has been exceeded,Ķ
並帶有跟踪信息。這是什麼意思?
當我們編寫遞歸函數時,我們需要一個基本情況來停止遞歸調用。否則,它將繼續調用遞歸函數,直到調用堆棧耗盡。這稱為無限循環。
以下是會產生此錯誤的代碼示例:
它發生了。您編寫了一點代碼,然後在控制台或 Chrome 開發人員工具中收到一個錯誤,指示 uncaught rangeerror: the maximum size of the call stack has been exceeded,Ķ
並帶有跟踪信息。這是什麼意思?
當我們編寫遞歸函數時,我們需要一個基本情況來停止遞歸調用。否則,它將繼續調用遞歸函數,直到調用堆棧耗盡。這稱為無限循環。
以下是會產生此錯誤的代碼示例:
我們需要給代碼塊一個停止的地方。為此,我們需要添加一個條件語句,它將作為函數的“基本情況”。這將表示遞歸停止。
如果你打算使用它,不要忘記在你的遞歸函數中添加一個基本情況。這樣可以防止你犯這樣的錯誤!