我的目标是重复提示直到满足条件。我希望用户输入一个数字。如果是数字,则 console.log 记录输入数字的平方根。 如果输入了一个字符串 (NaN),我想要一个不同的提示和相同的过程来重复,直到输入一个数字。 我让它循环回到第一个提示,但想要一个不同的提示来解释未输入的数字。
let userNumber = 0;
do {
let userNumber = Number(prompt('Pick a number'));
if (!Number.isNaN(userNumber)) {
console.log(`Your number is the square root of ${userNumber * userNumber}`);
}
}
while (userNumber !== Number.isNaN);
alert('Sorry you entered something that is not a number.');
答案 0 :(得分:2)
你必须改变你的思考方式并扭转条件。成功时退出循环,而不是成功时留在循环内。
let userNumber = Number.NaN;
let message = 'Pick a number';
do {
userNumber = Number.parseInt(prompt(message));
if (Number.isNaN(userNumber)) {
message = 'Sorry you entered something that is not a number.';
}
} while (Number.isNaN(userNumber));
console.log(`Your number is the square root of ${userNumber * userNumber}`);