Javascript 重复提示,直到满足条件

Javascript 重复提示,直到满足条件,javascript,Javascript,我的目标是重复提示,直到满足条件。我希望用户输入一个数字。如果是数字,则console.log输入数字的平方根。 如果输入一个字符串(NaN),我希望重复不同的提示和相同的过程,直到输入一个数字。 我有它的工作,以循环回第一个提示,但想一个不同的提示,以解释一个数字没有输入 let userNumber = 0; do { let userNumber = Number(prompt('Pick a number')); if (!Number.isNaN(userNumber)

我的目标是重复提示,直到满足条件。我希望用户输入一个数字。如果是数字,则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.');

你必须改变你对它的看法,扭转这种状况。当你成功时退出循环,而不是当你成功时留在循环中


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


你必须改变你对它的看法,扭转这种状况。当你成功时退出循环,而不是当你成功时留在循环中


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


然后您需要一个
else
语句,可能需要更改一个字符串变量作为提示,当它是一个数字时可以恢复它?到目前为止你都试了些什么?谢谢你的回复。我是新来的,以上是我尝试过的。我会想一想你说的话,然后试着弄清楚。然后你需要一个
else
语句,可能会更改一个字符串变量作为提示,当它是一个数字时可以恢复它?到目前为止你都试了些什么?谢谢你的回复。我是新来的,以上是我尝试过的。我会想一想你说的话,然后试着弄明白。谢谢你,这是有道理的。但是,如果我运行我得到的代码“您的数字是0的平方根。我在上面想我应该提升变量或将其设置为0,但我肯定遗漏了什么。对不起,是内部的
把事情搞砸了。我想我已经改变了。@user3531040我已经更新了代码,现在看起来很好,谢谢!我把你的解决方案标为答案,但没有足够的分数来投票。我会得到更多的分数,然后回来投票。谢谢,这很有意义。但是,如果我运行我得到的代码“您的数字是0的平方根。我在上面想我应该提升变量或将其设置为0,但我肯定遗漏了什么。对不起,是内部的
把事情搞砸了。我想我已经改变了。@user3531040我已经更新了代码,现在看起来很好,谢谢!我把你的解决方案标为答案,但没有足够的分数来投票。我会得到更多的分数,然后回来投票。