为什么这个循环会冻结我的浏览器
Why this loop freezes my browser?
为什么浏览器执行此操作时会挂起?
for(var i= 9007199254740993;i<9007199254740994;i++) {
console.log(i);
}
您尝试使用的整数大于2^53。JavaScript不能精确地表示这些整数。让我们看一下控制台:
> var i = 9007199254740993;
undefined
> i++
9007199254740992
> i++
9007199254740992
> i++
9007199254740992
...
您可以看到,由于精度的损失,i
的值不会改变,因此条件将始终是true
,从而导致无限循环。
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 我的单元测试选项是什么
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 我的职位回报太快了,如何做出承诺
- 我的jQuery插件参数没有正确启动,遇到了问题
- 如何识别我的网站中的慢速设备
- 如何将JSON数据导入我的ejs模板
- 仅限Chrome:ajax冻结了我的JavaScript执行
- JavaScript函数冻结我的浏览器
- PhantomJS.在我的rails应用程序中尝试屏幕捕获页面时Rb冻结
- 我如何在JavaScript处理期间继续播放我的GIF(因为它冻结)
- 我的网站冻结了——可能是JavaScript,但我不知道为什么
- 我怎么能简单地冻结我的表的第一行使用纯Javascript,没有插件
- 为什么在循环冻结我的页面时会这样做
- Node.js readline同步冻结我的服务器(windows)
- 我的页面加载被Chrome状态冻结“;正在等待api.mixpanel.com“-这是什么,我该如何避免
- 为什么我在 JavaScript 中的 for 循环导致我的网页冻结
- 为什么这个循环会冻结我的浏览器
- Ajax请求将冻结我的Javascript代码