我有一個Javascript函數沒有返回我期望的結果。我試圖確定x,y點是否存在於基於2個其他x,y點的矩形內。在我的代碼中,x和y是有問題的原始點。 z1和z2是矩形的左上角座標,z3和z4是右下角座標。Javascript函數確定一個點是否在矩形之間
function isInside(x,y,z1,z2,z3,z4){
x1 = Math.min(z1, z3);
x2 = Math.max(z1, z3);
y1 = Math.min(z2, z4);
y2 = Math.max(z2, z4);
if ((x1 <= x <= x2) && (y1 <= y <= y2)) {
console.log (x1 + "," + x + "," + x2);
console.log (y1 + "," + y + "," + y2);
return true;
} else {
return false;
};
};
如果我評估isInside(110,175,50,50,100,100),我說的是真的。這是意外的,因爲點110,175不存在於50,50和100,100的矩形內。任何幫助,將不勝感激。
正確。第一條語句不以正確的順序執行。 '(50 <= 117 <= 100)'將評估爲「(true <= 100)」 - 它返回true。 – MildlySerious 2013-02-22 07:44:12
我試過如果((x1 <= x && x <= x2)&&(y1 <= y && y <= y2)){取代了相同的結果。 – SystemX17 2013-02-22 07:47:54
(試過,因爲我認爲這是你說的,而不是我發佈之前) – SystemX17 2013-02-22 07:48:58