ホームページ >ウェブフロントエンド >jsチュートリアル >Safari で「最大呼び出しスタック サイズを超えました」および「JS: 実行タイムアウトを超えました」エラーを修正する方法
「最大呼び出しスタック サイズを超過しました」および「JS: 実行タイムアウトを超過しました」エラーを解決する
「最大呼び出しスタック サイズを超過しました」エラーが発生した場合Safari で「」エラーが発生した場合、コードにネストされた関数呼び出しの数が多すぎることを示します。この問題により、それ以上の処理が妨げられ、実行が完全に停止する可能性があります。 iPad Safari ブラウザでは、このエラーは「JS: 実行がタイムアウトを超えました」として現れる場合があります。
エラーについて
コール スタックは、情報を保存するメモリ領域です。関数呼び出しについて。関数が呼び出されるたびに、新しいスタック フレームが作成されます。過剰なネストの場合など、スタックが最大サイズに達すると、エラーが発生します。
Safari ブラウザ向けの修正
この問題を解決するには、再帰関数には明確な基本ケースがあることを確認してください。基本ケースは、満たされた場合に再帰呼び出しを停止し、スタックを効果的に巻き戻す条件です。
たとえば、次の再帰関数について考えてみましょう。
このコードは、再帰を停止する基本ケースがないため、エラーが発生します。これを修正するには、関数が特定の回数呼び出されたかどうか、または特定の条件が満たされたかどうかをチェックする基本ケースを追加できます。
この更新されたコードでは、基本ケースは次のとおりです。 x が 10 より大きい場合、再帰呼び出しが最大スタック サイズを超えないようにします。
以上がSafari で「最大呼び出しスタック サイズを超えました」および「JS: 実行タイムアウトを超えました」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。