Javascript 这两个if块之间是否存在逻辑差异?
我相当肯定这两种方法应该达到同样的效果。由于某种原因,第一个将永远不会进入最里面的块。如果条件匹配,第二个方法将返回false。当您将递增器置于if条件下时,会发生什么变化Javascript 这两个if块之间是否存在逻辑差异?,javascript,if-statement,logic,Javascript,If Statement,Logic,我相当肯定这两种方法应该达到同样的效果。由于某种原因,第一个将永远不会进入最里面的块。如果条件匹配,第二个方法将返回false。当您将递增器置于if条件下时,会发生什么变化 if (item.Reject) { rejectCount++ if (rejectCount >= maxRejects) { return false; } } else rejectCount = 0; 第二种方法: if (item.Reject) {
if (item.Reject)
{
rejectCount++
if (rejectCount >= maxRejects)
{
return false;
}
}
else rejectCount = 0;
第二种方法:
if (item.Reject)
{
if (++rejectCount >= maxRejects)
{
return false;
}
}
else rejectCount = 0;
您能提供您用于maxRejects的值吗
这两种方法都是相同的,第一个示例没有理由不进入最内部的块。根据我刚刚编写的测试它的JSFIDLE,它们做完全相同的事情。 我简化了它来测试条件。但这是有目的的
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/
他们在逻辑上与我相当。这两个值都是在计算if语句之前递增的。该值是任意值,如15。我想确定自己没有疯。我也是这么想的,只是想听听别人的意见。我想我的大脑还在清醒。酷。这部分是我测试我的新JSFIDLE帐户的借口。真漂亮。