Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这两个if块之间是否存在逻辑差异?_Javascript_If Statement_Logic - Fatal编程技术网

Javascript 这两个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) {

我相当肯定这两种方法应该达到同样的效果。由于某种原因,第一个将永远不会进入最里面的块。如果条件匹配,第二个方法将返回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;

您能提供您用于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帐户的借口。真漂亮。