下面是我的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 return后跟return true意味着什么。 任何人都可以解释我的痛苦吗?
答案 0 :(得分:1)
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
条件只包含一个语句,然后它可以在没有brackets
且If
条件包含多个语句的情况下写入,然后它必须在括号内写入。
答案 1 :(得分:0)
如果满足条件(b1&lt; y2 || y1&gt; b2 || r1&lt; x2 || x1&gt; r2),则返回false。 如果没有,它将永远返回真实。
答案 2 :(得分:0)
您可能会因为认为两个语句都将被执行而感到困惑。只执行了一个return
,因此没有冲突。
如果if
条件为真,则执行return false
并且该方法的逻辑流程结束。它永远不会到达下一行,因为return false
执行时放弃了方法
答案 3 :(得分:0)
如果没有复合语句,即只有一个语句,那么你可以使用if-else
而不用{}(花括号)
if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) return false;
return true;
这只是意味着如果支票b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2
共同返回true,那么进入if
主体并执行return false
否则不会执行下一个语句,即在您的情况下return true