Javascript:如何在满足条件时中断while循环以使其在Var不为null时终止循环Break Not Working

问题描述

 var Age;
    
    Age = prompt("How old are you");
    
    while (Age === null){
        prompt("Please Cofirm You Name");
     if (Age > 0 ){
    
        break;
     }
    }

我正在尝试使它处于循环状态,直到var Age不为空...我的目标是使其成为一个循环,以便您不能取消提示而必须键入提示。我已经尝试过使用休息时间;在if语句中,但不起作用。 当我使用休息时;在if语句中,它将继续发送提示 还有另一种方法可以做到这一点 还是由于某种原因,var Age的值等于null(即使您添加一个大于0的整数),又是否有人知道如何修复它 有没有更好的方法可以让用户在提示中输入

谢谢您

解决方法

尝试使用do-while

let age,age2;

do {
  age = prompt("How old are you?");
} while (age === "");

do {
  age2 = prompt("Please Cofirm Your age");
} while (age2 === "" || age2 !== age);

,

一个while循环有一个中断,请看这个简单的例子。

let a = 2;
while (a <100) {
    console.log(a);
    a *= 2;
    if (a===16)
        break;
}

,
var Age = prompt("How old are you?");
Age = Number(Age);
while (isNaN(Age) || Age < 1) {
    Age = prompt("Please confirm your age.");
    Age = Number(Age);
}

在提示对话框中,用户可以输入任何内容。因此,我们试图通过使用Number(Age)来查看用户是否输入了数字,该数字试图将用户输入的值解析为数字,如果是数字则返回数字。

这意味着,如果用户输入的值是数字,则年龄将具有有效的数字(但可能为负,这对于我们的用例无效)。数字以外的任何数字都将给出NaN或0。

因此,当您写Age = Number(Age)时,

  • 可以为年龄分配适当的数字(正数或负数),或者
  • NaN(NaN代表not a number,它被认为是一种 数据),或者
  • 用户输入空格时为0。

在while循环条件下,我们正在检查用户输入的值是否无效。即is Age not a number?is Age less than 1?

如果这两个条件中的任何一个为true,则在这两个条件之间使用的||运算符将返回true(实际上,如果第一个条件为true,那么甚至不必费心检查第二个条件,并简单地返回true)。如果两个条件都为假,它将返回false

因此,如果用户输入了无效的输入(负数,空格或字符串),我们会提示用户直到输入正确的值。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...