%在JavaScript中做什么?

时间:2012-01-17 19:39:25

标签: javascript

%在JavaScript中做了什么?

非常感谢它的定义及其作用。

10 个答案:

答案 0 :(得分:29)

这是 modulo operator 。有关JavaScript算术运算符的详细信息,请参阅 documentation the specification

  

%(模数)

     

模数运算符的用法如下:

     

var1%var2

     

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

答案 1 :(得分:15)

ES6更新:

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

  

当一个操作数除以第二个操作数时,余数运算符返回剩余的余数。 总是采取红利的标志,而不是除数。它使用内置的模数函数来生成结果,即var1 除以var2的整数余数 - 例如 - var1 modulo var2There is a proposal to get an actual modulo operator in a future version of ECMAScript,区别在于模运算符结果将采用除数的符号,而不是被除数。

示例:

-10 % 3 // -1
10 % -3 // 1

答案 2 :(得分:11)

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

答案 3 :(得分:7)

那将是modulo operator

它返回除法运算的剩余部分:

var remainder = 3 % 2; // equals 1

答案 4 :(得分:6)

模数运算符 它计算余数。

  

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

答案 5 :(得分:4)

以防万一,如果有人正在寻找一个真正的模数函数(它总能得到除数的符号),你可以使用它:

function Modulo(num, denom)
{
    if (num%denom >= 0)
    {
        return Math.abs(num%denom);
    }
    else
    {
        return num%denom + denom;
    }
}

Math.abs是为了防止大小写-12%12→-0,它被认为等于0但显示为-0。

答案 6 :(得分:3)

模数(%)运算符返回余数。

如果任一值是字符串,则尝试将字符串转换为数字。

alert(5%3)会提醒2

答案 7 :(得分:1)

%作为模运算符执行,返回除法余数。例如:

<script>
    var x = 5;
    var y = 2;
    var z = x % y;
    alert(z);
</script>

这会提醒1。

答案 8 :(得分:0)

请找到模数(%)运算符的功能用法。您有9个名称的数组,您需要在每行3个中列出它,才能使用模块化运算符。

 listNames=["krishna","vishnu","john","ali","guru","guruvan","tryer","ben"]
  var text = "<div class='carousel-inner'>";
            text += '<div class="item active">';
            for (var i in listNames) {
                text += '<div class="div_block" >' + listNames[i] + '</div>';
                if (i % 3 == 2) {
                    text += '</div><div class="item">';
                }
            }
            text += "</div>";
       $('#name-list').html(text);

答案 9 :(得分:0)

在JavaScript中,%remainder operator不是取模运算符)。

余数运算符%(使用Math.truc()):

remainder = -5 % 3 = -2

如何计算?

quotient  = Math.trunc(dividend / divisor) = Math.trunc(-5 / 3) = -1;
remainder = dividend - divisor * quotient  = -5 - (3 * -1) = -2

取模函数(使用Math.floor()):

modulo(-5,3) = 1

如何计算?

quotient = Math.floor(dividend / divisor) = Math.floor(-5 / 3) = -2;
remainder = dividend - divisor * quotient = -5 - (3 * -2) = 1

对于正数数字,余数运算符和取模均给出相同的结果。

5 % 3 = 2
modulo(5,3) = 2

在JavaScript中,没有用于执行模运算的内置函数,因此您需要使用上述Math.floor()自己编写。另外,甚至您也可以使用剩余运算符轻松编写,如下所示。

function modulo(n, m) {
   return ((n % m) + m) % m;
}