gpt4 book ai didi

javascript - JavaScript 的最长执行时间

转载 作者:可可西里 更新时间:2023-11-01 02:41:37 25 4
gpt4 key购买 nike

我知道 ie 和 firefox 都对 javascript 执行有限制( Source 1 , Source 2 )。根据执行的语句数,我听说在 IE 中某处是 500 万,根据 firefox 中的秒数:我的版本默认为 10 秒。

我不明白什么情况下会超过这些限制:

  1. 我确信一个巨大的循环会超过执行时间的限制

  2. 但是,如果事件处理程序本身的执行时间低于限制,但如果它发生多次,是否会超过限制?

例子:

假设我的页面上有一个计时器,它每 20 秒执行一些 javascript。计时器处理程序的执行时间为 1 秒。 firefox 和 ie 是否分别处理定时器函数的每次调用,所以它永远不会超过限制,或者是 firefox/ie 将每次调用的时间加起来,所以在处理程序完成后,所以在我的网站上 200 秒后(与计时器调用了 10 次)即使计时器处理程序本身只有 1 秒长,也会发生错误?

最佳答案

以下文章作者Nicholas C. Zakas讨论不同浏览器如何以及何时中断长时间运行的 JavaScript 代码:

将长处理代码分成小块并使用计时器启动它们实际上是解决此问题的一种方法。以下 Stack Overflow 帖子提出了一种解决此问题的方法:

另一方面,web workers更适合长时间运行的处理,因为它们的执行发生在一个单独的进程中,因此不会阻塞 UI 线程:

但是 Internet Explorer 尚不支持网络 worker ,他们无法访问 DOM。

关于javascript - JavaScript 的最长执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3030024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com