ObÄasná nekoneÄná smyÄka
důležitost: 4
Tento cyklus je nekoneÄný. Nikdy neskonÄÃ. ProÄ?
let i = 0;
while (i != 10) {
i += 0.2;
}
Protože i nikdy nebude rovno 10.
SpusÅ¥me si jej, abychom vidÄli skuteÄné hodnoty i:
let i = 0;
while (i < 11) {
i += 0.2;
if (i > 9.8 && i < 10.2) alert( i );
}
Žádná z nich nenà pÅesnÄ 10.
Takové vÄci se dÄjà kvůli ztrátám pÅesnosti pÅi pÅiÄÃtánà desetinných ÄÃsel jako 0.2.
Důsledek: když pracujete s desetinnými ÄÃsly, vyvarujte se testů rovnosti.