javascript - 使用 % 模数理解这段 Javascript 代码

标签 javascript

我目前正在学习 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/

相关文章:

javascript - 如何在 asp mvc 2 中使用 css 添加图像?

javascript - 函数不会(正确)执行多次

javascript - 如何从 JavaScript 中的数字数组或数字字符串创建整数或数字

javascript - 在不在 span 标记内的 span 文本后添加文本

javascript - 如何实现带有不允许文本在其下方流动的 float 图标的列表项?

javascript - 创建新原型(prototype)来搜索任何数组并返回字符串

javascript - 在 JS 中仅从文件中获取 YAML 文本

javascript - 使用 JavaScript 创建排序行

javascript - 为什么我的脚本第一行出现 JS 错误语法错误 : invalid or unexpected token?

javascript - 获取具有子数组 json 值的数组的值