Das ist wahrscheinlich etwas sehr Einfaches und Dummes, aber warum gibt es nichts zurück? Ich habe diese einfache Klassenmethode:
checkCollision(event) { let eventX = event.clientX - canvasRect.left; let eventY = event.clientY - canvasRect.top; if (this.centerX - eventX <= this.radiusX && this.centerX - eventX >= (this.radiusX/-1) && this.centerY - eventY <= this.radiusY && this.centerY - eventY >= (this.radiusY/-1)) { console.log(true); return true; } else { console.log(false); return false; } }
Aber wenn es im Browser ausgeführt wird, ist die Ausgabe
> obj.checkCollision({clientX: 200, clientY: 200}) false <- undefined
Warum gibt es nichts zurück? console.log läuft, aber kein Rückgabewert
我为你使用的变量添加了一些任意值,但是我能够使你的代码像这样工作:
另外,一个小提示。当你根据布尔表达式明确返回
true
或false
时,你也可以直接返回布尔表达式本身。