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