JavaScript:为什么这会导致一个无限循环
JavaScript: Why is this causing an infinite loop?
我正试图通过找到JavaScript数字行环绕的点来找到最大的数字。例如,如果它只能容纳数字0, 1, 127
,那么我会使用"127 + 1 = 0
"来找到127
。所以我做了一个函数
function getLargestNumber ( )
{
var somethingBig = 12939123, last = (somethingBig - 1);
while ( ++somethingBig > ++last );
return last;
}
但这会导致无限循环(或者由于其他原因导致浏览器崩溃)。
我的函数逻辑有什么问题吗?
JavaScript数字总是以浮点数字的形式存储,而不是像C中那样的整数。浮点数字不会像C整数那样"环绕"。
这可能会帮助您什么是JavaScript';一个数字在不丢失精度的情况下可以达到的最高整数值?
看起来while循环将永远运行,因为你总是在增加somethingBig和last,因此something比格总是更大:
while ( ++somethingBig > ++last );
我不确定你到底想实现什么,但这将是无限循环的原因。
希望这能有所帮助!
相关文章:
- 为什么我使用javascript获得了一个无限的for循环
- javascript停止一个无限循环
- setTimeout 会创建一个无限循环
- 为什么我有一个无限循环
- 为什么(;;){…}是一个无限循环
- 为什么“;window=window.parent"创建一个无限循环
- 把我的折线放在一个无限循环中
- 为什么这个树的布局给了我一个无限的循环
- JavaScript:为什么这会导致一个无限循环
- 两个同步事件创建了一个无限循环
- 为什么我的javascript代码会进入一个无限循环
- 为什么这会导致一个无限循环
- 在一个无限循环风格的展示中预先加载相邻的条目
- addEventListener创建了一个无限循环
- 在Jquery中创建一个无限循环
- 为什么这段代码创建了一个无限循环?
- Select2 trigger("change")创建一个无限循环
- 为什么这会产生一个无限循环
- 是否有任何解决方案来结束一个无限循环函数
- 为什么我的角脚本运行一个无限循环