Infinite loop
önem: 4
Aşağıdaki döngü neden sonsuzdur ve hiçbir zaman bitmez? s
let i = 0;
while (i != 10) {
i += 0.2;
}
Çünkü i hiçbir zaman 10 olmaz.
Aşağıdaki kodu çalıştırın ve gerçek i değerini görün:
let i = 0;
while (i < 11) {
i += 0.2;
if (i > 9.8 && i < 10.2) alert( i );
}
hiçbirisi tam olarak 10 olmayacaktır.
Bunun olmasının nedeni 0.2 eklediğimizde kesinlik kaybı olur.
Sonuç: Eğer ondalıklı sayılar ise çalışıyorsanız eşitlik kontrolünü iyice kontrol edin.