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
下面是我的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 withoutbrackets
andIf
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