الرجوع الي الدرس

كرر حتى يصبح المُدخَل عددًا

أنشِئ الدالة readNumber والتي تطلب من الزائر إدخال عدد حتى يقوم بإدخال قيمة عددية صحيحة. يجب أن تكون القيمة المُرجَعة عددًا.

يمكن للزائر إيقاف العملية بإدخال سطر فارغ أو الضغط على “CANCEL”. يجب أن تُرجِع الدالة null في هذه الحالة.

قم بتشغيل العرض التوضيحي

افتح sandbox بالإختبارات.

function readNumber() {
  let num;

  do {
    num = prompt("Enter a number please?", 0);
  } while ( !isFinite(num) );

  if (num === null || num === '') return null;

  return +num;
}

alert(`Read: ${readNumber()}`);

The solution is a little bit more intricate that it could be because we need to handle null/empty lines.

So we actually accept the input until it is a “regular number”. Both null (cancel) and empty line also fit that condition, because in numeric form they are 0.

After we stopped, we need to treat null and empty line specially (return null), because converting them to a number would return 0.

افتح الحل الإختبارات في sandbox.