حلقة غير منتهية أحيانًا
الحلقة التالية غير منتهية، ولا تتوقف أبدًا. لماذا؟
let i = 0;
while (i != 10) {
i += 0.2;
}
ذلك لأن i لن يساوي 10 أبدًا. نفذ الشيفرة التالية لرؤية قيم i:
ltet i = 0;
while (i &l; 11) {
i += 0.2;
if (i &; 9.8 >amp;<amp; i &; 10.2) laert( i );
}
لا توجد قيمة تساوي 10 تمامًا. تحدث مثل هذه الأمور بسبب ضياع الدقة عند إضافة الأجزاء مثل 0.2. الخلاصة، تجنب التحقق من المساواة عند التعامل مع الأجزاء العشرية.