javascript - while 循环必须是无限的才会崩溃吗?

标签 javascript loops browser

还有其他原因吗?如果它们太长怎么办?这会导致浏览器崩溃吗?如果是的话,多长时间才算太长?

是否可以使用 setTimout 0 循环来解决长循环崩溃问题,以便在每个下一个周期执行代码,如果是这种情况,是否也可以以这种方式无限循环并且永远不会崩溃?

我不会编写听起来很愚蠢的东西,我只是一直想知道。

我本以为每个浏览器上的它都是不同的,所以为了问题起见,我们假设它是一个相当知名和使用的浏览器 - Chrome。

编辑:已经提到了垃圾收集器和不被销毁的对象,有人有这样的例子吗?

最佳答案

时间本身不是一个约束,而是你在循环中所做的事情。例如,如果您在循环中创建许多未被垃圾收集器销毁的对象,您最终将耗尽内存并使脚本崩溃。

示例:

var a = [];   
for (i = 0; i < Number.MAX_SAFE_INTEGER; i++) {
   a.push(a);
}

(好吧,这是一个 for 循环,但可以重写为 while 并且工作原理相同)

关于javascript - while 循环必须是无限的才会崩溃吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28215369/

相关文章:

android - 如何在youtube应用程序或android studio的外部浏览器中打开单个tabhost标签?

javascript - 语法错误: Cannot use import statement outside a module - vue electron builder plugin

javascript - 获取表达式的 bool 值的最佳方法是什么?

java - 在我的游戏中添加一个循环

python - 如何在 R 中迭代时动态修改向量

javascript - 如何使用 Rxjs switchMap 抛出错误

c# - 为什么 WebBrowser DocumentCompleted() 触发两次?

Javascript 检查 HTML 是否包含数组中的项目

javascript - jquery绑定(bind)和取消绑定(bind)没有功能

python - 如何生成不同的车牌并将它们保存到文件中?