return 错误; return 真;我很困惑

return false; return true; am confused

下面是我的jquery函数

function chekTouch($div1, $div2) {
      var x1 = $div1.offset().left;
      var y1 = $div1.offset().top;
      var h1 = $div1.outerHeight();
      var w1 = $div1.outerWidth();
      var b1 = y1 + h1;
      var r1 = x1 + w1;
      var x2 = $div2.offset().left;
      var y2 = $div2.offset().top;
      var h2 = $div2.outerHeight();
      var w2 = $div2.outerWidth();
      var b2 = y2 + h2;
      var r2 = x2 + w2;

      if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) return false;
      return true;
}

我不明白写 return false 后跟 return true 是什么意思。 谁能不厌其烦地解释一下???

if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) return false;
      return true;

相当于

if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) 
{
   return false; //If your condition is true then return false
}
else
{
   return true;  //If condition is false then return true
}

If condition contain only one statement then it can write without brackets and If condition contains multiple statement then it must write within bracket.

如果满足条件 ( b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2 ),它将 return 为假。 如果不是,它总是 return true。

您可能会困惑地认为这两个语句都会被执行。只执行了一个return所以没有冲突。

如果 if 条件为真,则执行 return false 并且该方法的逻辑流程到此结束。它永远不会到达下一行,因为方法在 return false 执行时被放弃

如果没有复合语句,即只有一个语句,那么您可以使用 if-else 而不使用 {}(大括号)

 if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) return false;
  return true;

这只是意味着如果检查 b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2 集体 returns true 然后进入 if 主体并执行 return false 否则不要来执行任何下一个语句就是你的情况 return true