javascript - 逻辑运算和大于的Javascript问题
问题描述
你好,我正在学习 JavaScript,我有一个问题,我做了简单的算法来检查“如果有什么”。我的问题是关于这条线if(dolphins && koalas > minimumScore)
。在我看来这不合逻辑,但它以我想要的方式工作。因为一开始我想检查海豚或考拉是否> minimumScore(所以我使用了||
)。但是当我将两个团队的值都设置为低于 100 时,它会继续进入下一个if
区块,else if
但不会进入 else 语句。所以我不得不使用 && 并且它有效,如果两个团队都低于 100,它会转到 else,当至少一个团队高于 100 时,它会转到下一个“if”。
let dolphins = 11;
let koalas = 11
const minimumScore = 100
if(dolphins && koalas > minimumScore){
if(koalas > dolphins){
console.log(`Koalas won! {$koalas}`)
} else if(koalas===dolphins){
console.log('draw')
} else {
console.log('dolphins won!')
}
} else{
console.log('no team won')
}
解决方案
所以(dolphins && koalas > minimumScore)
不检查 dolphins 是否大于 minimumScore 和 koalas 是否大于 minimum score。它正在检查海豚是否“真实”以及考拉是否大于 minimumScore。如果你想检查一个或另一个是否大于你必须写的最低分数。
(dolphins > minimumScore || koalas > minimumScore)
更多关于真实值的信息 https://developer.mozilla.org/en-US/docs/Glossary/Truthy
推荐阅读
- php - 如何避免在 Laravel 5.5 的每个请求中检查 MySQL 连接?
- firebase - 主题消息传递是否适用于 chrome 扩展?
- python - VS Code 中的一些设置
- php - Laravel:刀片中的未定义变量?
- excel - EXCEL VBA 不完全匹配自动过滤器
- c++ - 插槽调用了两次 qt
- java - 导入无法解决(Junit)
- javascript - 当用户单击一个选项时,用一个勾号或 html 中的任何内容标记它
- javascript - 仅当 webpack.config.js 存在时,Webpack 构建才会失败
- javascript - 过滤两个日期之间的日期数组