While循环-JavaScript

While循环-JavaScript,javascript,Javascript,虽然我在提示框中写了一个数字,但我不能离开while循环,为什么?您可以使用函数确定值是否为NaN。您必须添加age==“”作为条件的一部分,并使用|传递初始值(空字符串) 条件应为: let age = ""; while (age !== NaN) { age = prompt("what is your age"); Number(age); } 还必须将转换后的值重新分配给变量 let age=“”; 而(isNaN(年龄)| |年龄==“”){ 年龄=提示(“您的年

虽然我在提示框中写了一个数字,但我不能离开while循环,为什么?

您可以使用函数确定值是否为NaN。您必须添加
age==“”
作为条件的一部分,并使用
|
传递初始值(空字符串)

条件应为:

let age = "";

while (age !== NaN) {

  age = prompt("what is your age");

  Number(age);

}
还必须将转换后的值重新分配给变量

let age=“”;
而(isNaN(年龄)| |年龄==“”){
年龄=提示(“您的年龄”);
如果(年龄==null)
打破
其他的
年龄=人数(年龄);

}
您将
age
初始化为一个字符串,并且
prompt()
的返回值也始终是一个字符串,并且没有任何字符串是
===
NaN
的。调用
号码(年龄)
无效;你可能想要
age=Number(age).let age=“”;而(isNaN(age)| | age==”{age=prompt(“您的年龄是多少”);age=Number(age);}是一个很好的解决方案。但是年龄有什么问题(有3个等号)。单击“取消”或“确定”而不写入时,我将退出循环。让年龄=”;当(isNaN(age)| | age==”{age=prompt(“您的年龄是多少”);age=Number(age);}@H.A.A,当单击取消按钮时,age具有空值,在这种情况下,您必须中断循环….更新答案….请检查。我知道了。年龄=人数(年龄);将年龄类型更改为数字,这就是年龄===“”不起作用的原因,因为empty“”不是数字。以下代码解决了我的问题:let age=“”;while(isNaN(age)| | age==”){age=prompt(“您的年龄是多少”);age=Number(age)}let age=“”;while(isNaN(age)| | age==”{age=prompt(“您的年龄是多少”);if(age==null)break;else age=Number(age);}离开循环而不再询问年龄。@H.A.A,我的回答解决了您的问题还是您还想做其他事情?
while (isNaN(age) || age == "")