【问题标题】:Checking for no input in control structure检查控制结构中是否没有输入
【发布时间】:2016-06-19 20:49:57
【问题描述】:

我正在为一堂课编写这个基本控制结构,但我遇到了一些意想不到的行为。

var answer = prompt('what is your age');

if (answer >= 21) {
  alert('good to go!');
}
else if (answer < 21) {
  alert('sorry not old enough');
}
else if (answer != typeof Number) {
  alert('please enter your age as a number');
}
else if (answer === null) {
  alert('you did not answer!');
}

在最后一个条件下,我希望如果我将提示留空,它将执行最后一个警报。但是,它只是说“不够老”。是否将提示中没有输入视为0?如何解决这个问题?

谢谢。

【问题讨论】:

    标签: javascript null control-structure


    【解决方案1】:

    如果用户点击OK,提示不返回null,为了测试是否为空,你需要检查字符串是否为空answer === ""

    【讨论】:

      【解决方案2】:

      您需要将最后两个检查移到顶部,因为 "" &lt; 21true

      var answer = prompt('what is your age');
      
      if (answer === '') {
          alert('you did not answer!');
      } else if (isNaN(answer)) {
          alert('please enter your age as a number');
      } else if (answer >=  21) {
          alert('good to go!');
      } else if (answer < 21) {
          alert('sorry not old enough');
      }

      【讨论】:

        猜你喜欢
        • 2023-03-11
        • 2012-06-30
        • 2013-05-13
        • 1970-01-01
        • 2016-07-30
        • 1970-01-01
        • 2014-10-28
        • 2014-05-03
        • 2020-04-03
        相关资源
        最近更新 更多