javascript - 如果条件不满足,什么时候应该满足

标签 javascript

var userchoice;
var compchoice = parseFloat(Math.ceil(Math.random()*10));
console.log(compchoice);





function guess () {
    if (compchoice === document.getElementById("userguess").value) {
        alert("You guessed it!");
        location.reload()
    }
    else if (document.getElementById("userguess").value > compchoice) {
        alert("That was a little high, try again")
    }
    else if (document.getElementById("userguess").value < compchoice) {
        alert("That was a little low, try again")
    }
    else if (isNaN(document.getElementById("userguess").value)) {
        alert("Guess a number bro")
    }

}

这是我的代码。我是一个初学者,只是在搞概念。现在的问题是,如果您猜对了数字,则 guess() 中的第一个 if 语句应该运行,但它没有。另一个 else if 运行了,所以我很困惑问题是什么。如有任何帮助,我们将不胜感激。

最佳答案

这将返回一个字符串:

document.getElementById("userguess").value

这将返回一个数字:

parseFloat(Math.ceil(Math.random()*10))

由于类型不同,===将返回false。一些解决方案:

  • 使用 == 进行比较
  • 将字符串转换为数字:+str
  • 将数字转换为字符串:''+num

关于javascript - 如果条件不满足,什么时候应该满足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33023375/

相关文章:

其他元素上的 Javascript 事件

javascript - 从谷歌地图边界获取纬度/经度值

javascript - 循环ajax调用来填充多个div

javascript - 移动菜单在滚动时消失(纯javascript)

javascript - 防止滚动冒泡

javascript - forEach 函数比等效的 for 循环快得多

javascript - Magento 在购物车页面中隐藏/显示优惠券字段

javascript - 我看不到意外的 token 语法错误

javascript - Web 浏览器或 Node.js 中的异步/等待?

javascript - Jest(或 Mocha)如何在无需导入的情况下工作?