ホームページ > 記事 > ウェブフロントエンド > IE の JavaScript スタック サイズ制限とは何ですか?また、それを確認するにはどうすればよいですか?
IE ブラウザの Javascript スタック サイズ制限
IE ブラウザの Javascript スタック オーバーフロー エラーは、複雑な関数の実行を妨げる可能性があります。この問題は、他の一般的なブラウザと比較してブラウザのスタック サイズが制限されているために発生します。スタック サイズの制限を決定するには、簡単な HTML テストを実行できます。
<code class="html"><head><script> function doSomething(i) { if (i == 0) return -1; doSomething(i-1); } doSomething(3200); </script></head><body></body></code>
IE では、スタック オーバーフローが 3200 付近で発生しますが、Firefox や Chrome などのブラウザはかなり深い再帰を処理できます。
オーバーフロー ソースの追跡
スタック オーバーフローの場合、エラーの原因となった特定の関数を特定すると役立ちます。残念ながら、ほとんどのブラウザには、JavaScript スタック フレームをトレースするための組み込みメカニズムが提供されていません。ただし、try/catch ブロックを使用して回避策を採用できます。
<code class="javascript">var i = 0; function inc() { i++; inc(); } try { inc(); } catch(e) { // Manual adjustment for StackOverflow sandbox i++; console.log('Maximum stack size is', i, 'in your current browser'); }</code>
このコードは、スタック オーバーフローが発生するまでカウンターを徐々にインクリメントします。捕捉されたエラーによりブラウザの最大スタック サイズを判断できるため、スタック オーバーフローの問題をデバッグする際に洞察に富んだ情報が得られます。
以上がIE の JavaScript スタック サイズ制限とは何ですか?また、それを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。