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中文網其他相關文章!