i - > opeator在JavaScript中做了什么?

Bob*_*lan 2 javascript

所以我看了一下在SO广告页面上控制计数器的代码.然后我看到了发生这种情况的线i-->.这是做什么的?

这是完整的代码:

$(function(){

    var visitors = 5373891;
    var updateVisitors = function()
    {
            visitors++;

            var vs = visitors.toString(), 
                 i = Math.floor(vs.length / 3),
                 l = vs.length % 3;
            while (i-->0) if (!(l==0&&i==0))          // <-------- Here it is!!!
                vs = vs.slice(0,i*3+l)
                   + ',' 
                   + vs.slice(i*3+l);
            $('#devCount').text(vs);
            setTimeout(updateVisitors, Math.random()*2000);
    };

    setTimeout(updateVisitors, Math.random()*2000);

});
Run Code Online (Sandbox Code Playgroud)

Gum*_*mbo 13

i-->0i-- > 0如果评估值i--大于,则比较表达式相同0.

  • 哇,把它一起运行就像那样,甚至让我困惑了一会儿.善良的眼睛,Gumbo. (2认同)
  • 只是为了澄清,意味着比较"i> 0"在*i递减之前发生*. (2认同)

JCa*_*sso 6

它不是运营商.看到这个链接:

C++中的" - >"运算符是什么?

var i = 10;

while (i-- > 0)
{
   alert('i = ' + i);
}
Run Code Online (Sandbox Code Playgroud)

输出:

i = 9 
i = 8 
i = 7 
i = 6 
i = 5 
i = 4 
i = 3 
i = 2 
i = 1 
i = 0
Run Code Online (Sandbox Code Playgroud)