ホームページ  >  記事  >  ウェブフロントエンド  >  IE の JavaScript スタック サイズ制限とは何ですか?また、それを確認するにはどうすればよいですか?

IE の JavaScript スタック サイズ制限とは何ですか?また、それを確認するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-31 07:45:29888ブラウズ

 What is the JavaScript Stack Size Limit in IE and How Can I Find It?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。