我目前正在学习 Javascript。我看到了下面的代码,这让我很困惑。
代码说明:
从第 1 行开始,函数 isOdd 接受一个数字 n 并返回一个 bool 值(true 或 false),说明该数字是否为奇数。
代码
var isOdd = function (n) {
if (n % 2 === 0) {
return false;
} else {
return true;
}
};
var isEven = function(n) {
if(n % 2 === 0) {
return true;
} else {
return false;
}
};
我感到困惑的地方。
代码:
n % 2 === 0
我一直将以下内容作为 % 的描述:
% Is the modulus operator. It returns the remainder of dividing number1 by number2.
这意味着函数 isOdd 中的 if 语句返回 false 是 n 和 2 之间的差为 0。但它的意思是如果 n 能被 2(偶数)整除,则返回 false。
我只是不明白它是如何做到这一点的。
在我看来,如果我们取偶数 30。将其应用于 n % 2。我们得到 15,它是 30 除以 2 的余数。15 不等于 0,但 30 是偶数,并且这段代码会被视为奇怪。
有人能解释一下吗?
最佳答案
有问题的行:
if (n % 2 === 0) {
return false;
}
表示“如果 n 除以 2 余数为零,则返回 false(即 n 不是奇数)”。
“余数”是减去最接近的倍数后剩下的内容,例如“64 % 10”是 4,因为 10 的最接近的倍数是 60,剩下 4。
以你的例子换句话说,30/2 是 15,30%2 是零(即 30/2 后剩下的)。以下是有关 remainder 的更多信息划分后。
关于javascript - 使用 % 模数理解这段 Javascript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10207290/