返回课程

重复输入,直到输入的是数字

重要性:5

创建一个函数 readNumber,它会提示用户输入数字,直到用户输入有效的数字值。

结果值必须作为数字返回。

用户也可以通过输入空行或按下“取消”来停止该过程。在这种情况下,函数应该返回 null

运行演示

打开带有测试的沙箱。

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()}`);

该解决方案比它本可以的要复杂一些,因为我们需要处理null/空行。

因此,我们实际上会一直接受输入,直到它是一个“常规数字”。null(取消)和空行也符合该条件,因为在数字形式中它们是0

停止后,我们需要对null和空行进行特殊处理(返回null),因为将它们转换为数字将返回0

在沙盒中打开带有测试的解决方案。