【问题标题】:How can we make an if statement work if condition = 0如果条件 = 0,我们如何使 if 语句起作用
【发布时间】:2023-01-12 22:12:17
【问题描述】:

let chooseANumber = Number(prompt('Choose a number')); if (chooseANumber === 0) { console.log(0); } ('上面我面临的问题是,如果用户关闭提示窗口,仍然 0 登录到控制台,如果用户未输入任何内容,数字(提示)将 NaN 更改为 0 并再次记录 0。我能做什么如果用户未输入任何内容或关闭提示窗口,则将条件更改为 falsy。');

如果不更改第一行,我找不到任何解决方案。

【问题讨论】:

  • prompt() returns a string or null。如果用户未输入任何内容,则结果为 nullnull is being coerced to 0 通过 Number() 函数。所以一切都按预期工作。
  • 所以不要马上把它改成数字! const resp = prompt();检查该值,然后将其转换为数字。
  • 正如@epascarello 所说:let chooseANumber = prompt('Choose a number'); if(chooseANumber) chooseANumber = Number(chooseANumber) if (chooseANumber===0) { console.log(0); }

标签: javascript


【解决方案1】:

不要立即将提示返回值转换为数字。当用户关闭时提示返回值为NULL。但是 NULL 被强制为 0。只需检查 NULL,然后将值作为字符串进行比较,或者在需要时将其转换为数字。

const v = prompt("Choose number");
if(v !== null) {
   //You can convert  v to number here if needed
   if(v === "0") console.log(0);
}

【讨论】:

    【解决方案2】:

    这个应该没问题

    const chooseNumberStr = prompt('Choose a number');
    const chooseNumber = parseFloat(chooseNumberStr);
    if (chooseNumber === 0) 
    { console.log(chooseNumber); }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-03
      • 2013-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-07
      • 2016-02-28
      • 1970-01-01
      相关资源
      最近更新 更多