JS - 这个循环如何使浏览器崩溃?
JS - How does this loop crash the browser?
我在 Microsoft Edge 的 JS 控制台中编写了我的第一个 JavaScript 代码:
var times = 10;
for(var i = 0; i < times; times++)
{
console.log(times);
}
不久之后,它使浏览器变得无响应并崩溃。
为什么以及如何?
当然这是一个无限循环。
但是如何存储 times
的值并不断递增它会使它崩溃。
持有一些变量的值很费力吗?
毕竟还有上百万的其他计算在计算机中连续执行,例如时间和系统的 gui 功能。它们不会导致崩溃。
我肯定遗漏了一些有关导致此崩溃的实际内部工作的信息。
总结一下问题:
上面的循环是如何让浏览器崩溃的?
需要解释内部机制。
var times = 10;
for(var i = 0; i < times; i++)
{
console.log(i);
}
.as-console-wrapper { max-height: 100% !important; top: 0; }
您递增了“错误的”变量。
通过递增 times
,i
永远不会“到达”它。
我在 Microsoft Edge 的 JS 控制台中编写了我的第一个 JavaScript 代码:
var times = 10;
for(var i = 0; i < times; times++)
{
console.log(times);
}
不久之后,它使浏览器变得无响应并崩溃。
为什么以及如何?
当然这是一个无限循环。
但是如何存储 times
的值并不断递增它会使它崩溃。
持有一些变量的值很费力吗?
毕竟还有上百万的其他计算在计算机中连续执行,例如时间和系统的 gui 功能。它们不会导致崩溃。
我肯定遗漏了一些有关导致此崩溃的实际内部工作的信息。
总结一下问题: 上面的循环是如何让浏览器崩溃的?
需要解释内部机制。
var times = 10;
for(var i = 0; i < times; i++)
{
console.log(i);
}
.as-console-wrapper { max-height: 100% !important; top: 0; }
您递增了“错误的”变量。
通过递增 times
,i
永远不会“到达”它。