我相当确定两种方法都应该完成同样的事情。由于某种原因,第一个将永远不会进入最内部的块。如果条件匹配,第二种方法将返回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;
答案 0 :(得分:1)
根据我刚刚写的一个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/
答案 1 :(得分:0)
您能否提供您用于maxRejects的价值?
两种方法都是相同的,第一个例子没有理由不进入最内部的块。