[英]Comparing using a percentage sign? % JavaScript
在简化代码时,堆栈溢出用户更改了以下代码行:
if (place > sequence.length -1) {
place = 0;
对此:
place = place % sequence.length;
我想知道这行实际上是做什么的,以及您如何定义该行的使用以及百分号的使用。 预先感谢您的帮助。
(%)是模数运算符,它将让您拥有剩余的place / sequence.length。
5 % 1 = 0 // because 1 divides 5 (or any other number perfectly)
10 % 3 = 1 // Attempting to divide 10 by 3 would leave remainder as 1
%
符号在大多数编程语言(包括JavaScript)中用作Modulu 。
模数是用于将一个数除以另一个后的余数的运算。
例如:
7%3 = 1
10%2 = 0
9%5 = 4
Java实际上没有的是余数运算符%
,而不是模运算符。
剩余(%)
当一个操作数除以第二个操作数时,余数运算符返回剩余的余数。 它总是采用股息的符号,而不是除数。 它使用内置的模函数来产生结果,该结果是将
var1
除以var2
(例如,var1
模var2
)的整数余数。 有人建议在将来的ECMAScript版本中使用实际的模运算符 ,不同之处在于,模运算符的结果将采用除数的符号,而不是除数的符号。
console.log(-4 & 3); console.log(-3 & 3); console.log(-2 & 3); console.log(-1 & 3); console.log(0 & 3); console.log(1 & 3); console.log(2 & 3); console.log(3 & 3);
.as-console-wrapper { max-height: 100% !important; top: 0; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.