% 在 JavaScript 中做什么?

IT技术 javascript
2021-01-11 00:48:25

% 在 JavaScript 中有什么作用?

对它是什么以及它做什么的定义将不胜感激。

6个回答

这是一个模运算符有关JavaScript 算术运算符的更多信息,请参阅此文档规范

%(模量)

模运算符的使用如下:

变量 1 % 变量 2

取模运算符返回第一个操作数的模第二个操作数,即 var1 modulo var2,在前面的语句中,其中 var1 和 var2 是变量。模函数是 var1 除以 var2 的整数余数。例如,12 % 5 返回 2。结果将与 var1 具有相同的符号;也就是说,-1 % 2 返回-1。

这个答案并不完全正确。这是一个余数运算符。他们是不一样的! developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
2021-03-27 00:48:25
如果您希望运算符返回一个整数(例如用于日历计算),则应在应用 % 运算符之前将 var1 和 var2 截断为整数。Modolus 就是这样定义的,不能按原样使用 %。例如:获取 2017 年 3 月的最后一个星期天。 31 - (((((5 * 2017) / 4) + 4) % 7)) == 25.75 // Not a valid date 31 - (~~((((5 * 2017) / 4) + 4) % 7)) == 26 // Correct
2021-04-06 00:48:25

ES6 更新:

正如其他答案中所解释的,它在将被除数除以除数后返回余数,但这不再是模运算符,这是余数运算符。 不同之处在于模运算符的结果将采用除数的符号,而不是被除数的符号。引自MDN

当一个操作数除以第二个操作数时,余数运算符返回剩余的余数。它总是采用被除数的符号,而不是除数。它使用一个内置的模函数,以产生结果,这是除以整数余数var1通过var2-例如- var1 modulo var2有一个提议在 ECMAScript 的未来版本中获得一个实际的模运算符,不同之处在于模运算符的结果将采用除数的符号,而不是被除数的符号。

例子:

-10 % 3 // -1
10 % -3 // 1
这个答案说明了与带有不同符号的被除数和除数一起使用时,“真”模运算符和当前 JavaScript 余数运算符的主要区别。这是一个细微差别,如果不加以考虑,可能会导致您的算法出现错误。
2021-03-13 00:48:25

它返回除法运算的余数。 5%2回报1

它是一个模运算符
它计算余数。

如果我们做 23 % 10,
首先,我们将 23 除以 10,等于 2.3,
然后取 0.3 *(除数)10
= 3

那将是模运算符

它返回除法运算的余数:

var remainder = 3 % 2; // equals 1