重复输入,直到输入的是数字
重要性: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
。