javascript - 询问用户的名字

标签 javascript loops if-statement while-loop

我刚刚开始学习javascript,在学习循环之后,如果我想编写一个小程序,询问用户的名字,它是空的,或者它是一个数字,它会不断询问用户,直到它是一个有效的名称。首先,如果我写一个字符串,它将写入 html,但是当程序尝试运行循环时,它将无法写入有效名称。

var getName = prompt("What is your name? ");


if (getName === null || !isNaN(getName)){

    while (getName !== null || isNaN(getName)){
        alert("Invalid name, please try again");
        getName = prompt("What is your name ? ");
       if (getName !== null || isNaN(getName)){
           document.write("Hello ", getName);
       }
    }
}else {
    document.write("Hello ", getName);
}

为什么我的代码在进入循环并输入有效的事物后不起作用,程序仍然说“这不是有效的名称,请重试”?

最佳答案

您可以使用条件getName === null || !isNaN(getName) 相反,请检查以下示例。

希望这有帮助。

var getName = null;

while (getName === null || !isNaN(getName)){
  getName = prompt("What is your name ? ");

  if (getName === null || !isNaN(getName)){
    alert("Invalid name, please try again");
  }else{
    document.write("Hello ", getName);
  }
}

关于javascript - 询问用户的名字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39861769/

相关文章:

iphone - XCODE - 如何 : UIAlertView (with a text field) on a loop until correct value entered into field?

javascript - 单击按钮保存多个图像

c++ - 将数组中的位置存储为要在 if 语句中更改的变量

asp.net-mvc-3 - 如果 Razor 中的 else 语句不起作用

javascript - 语法错误 : '[object HTMLDocument]' is not a valid selector in firefox

javascript - Node.js 上传到 Amazon S3 可以工作,但文件已损坏

javascript - 使用循环创建一个div

javascript - 在 Eslint 配置文件中禁用报价规则

java - 在 Kotlin 的运行 block 中继续

swift - 设置变量等于 if 语句条件