如何编写判断偶数并打印‘even’的JavaScript条件语句?
修复isEven函数的偶数判断逻辑
原代码存在几个关键问题,导致完全无法实现需求:
- 逻辑完全偏离目标:你写的是将参数
num与随机数赋值后判断,而非判断num是否为偶数 - 错误使用赋值运算符
=:num = random是把随机数赋值给num,然后判断这个值是否为真,和偶数判断毫无关系 - 用
Math.random()测试无效:该方法返回0到1之间的浮点数,永远不会是整数,自然不可能触发偶数判断
正确实现代码
function isEven(num) { // 先判断是否为整数,再判断是否能被2整除 if (Number.isInteger(num) && num % 2 === 0) { console.log("even"); } }
使用说明
- 传入整数测试:调用
isEven(4)会在控制台打印"even",isEven(5)则无输出 - 若不需要严格限制整数(比如允许
2.0这类等价整数的浮点数),可以去掉Number.isInteger(num)的判断,直接用num % 2 === 0 - 不要再用
Math.random()测试,因为它返回的是小数,永远不满足偶数条件
内容的提问来源于stack exchange,提问作者Jasmine
相关产品推荐
相关产品推荐

