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