偶尔的无限循环
重要性:4
这个循环是无限的。它永远不会结束。为什么?
let i = 0;
while (i != 10) {
i += 0.2;
}
这是因为 i 永远不会等于 10。
运行它以查看 i 的实际值
let i = 0;
while (i < 11) {
i += 0.2;
if (i > 9.8 && i < 10.2) alert( i );
}
它们都不完全等于 10。
这种情况发生是因为添加像 0.2 这样的分数时会造成精度损失。
结论:在处理小数时,避免使用相等性检查。