我相当确定这两种方法都可以完成同一件事。由于某些原因,第一个永远不会进入最里面的块。如果条件匹配,则第二种方法将返回false。将递增器置于if条件时会发生什么变化?

if (item.Reject)
{
    rejectCount++

    if (rejectCount >= maxRejects)
    {
        return false;
    }
}
else rejectCount = 0;


第二种方法:

if (item.Reject)
{
    if (++rejectCount >= maxRejects)
    {
        return false;
    }
}
else rejectCount = 0;

最佳答案

根据我刚才写的Jsfiddle的文章进行测试,他们做的完全相同。
我简化了测试条件。但这达到了目的

var rejectCount = 0;
var maxRejects = 2;

function incr1() {
    rejectCount++;
    if (rejectCount >= maxRejects) {
      //  return false;
    }

    alert(rejectCount);
}

function incr2() {
    if (++rejectCount >= maxRejects) {
      //  return false;
    }
    alert(rejectCount);
}

http://jsfiddle.net/durbnpoisn/j23uhfr0/

10-08 16:56