我有这个函数,它是一个对象的属性,
Layer.prototype.mouseInBounds = function() {
// Return value
var ret = true;
// Layer mouse co-ordinates are not valid
if (this.mouse.x < 0 || this.mouse.y < 0 || this.mouse.x >= this.width || this.mouse.y >= this.height) {
// Set layer mouse co-ordinates to false
this.mouse.x = false;
this.mouse.y = false;
// Set return value
ret = false;
}
return ret;
};
但是当我从另一个将图层作为属性的对象中调用它时,
this.layer.mouseInBounds() // true
无论ret
函数内部mouseInBounds
的值是多少?
修改
为了更好地理解我的问题mouse
是图层的属性,并在添加
console.log(ret);
在返回语句之前,我确实得到了true
或false
,
答案 0 :(得分:1)
它始终返回true
,因为:
this.mouse.x < 0
始终为false
,
this.mouse.y < 0
始终为false
,
this.mouse.x >= this.width
始终为false
,
this.mouse.y >= this.height
始终为false
我不知道mouse.x
和mouse.y
具体代表什么,但如果它们是从窗口左上角测量的x / y鼠标坐标,那么我不知道它们如何小于0
。