Javascript 事件侦听器和画布

Javascript 事件侦听器和画布,javascript,html,html5-canvas,Javascript,Html,Html5 Canvas,我有一个canvas元素,其中有一组矩形,这些矩形需要根据键盘上箭头键的选择相应地移动 index.html <canvas id="snakeCanvas" width="400" height="350"></canvas> 我可以通过控制台调出keyCode值,但在调试时我注意到,调试器没有进入条件逻辑。我错过了什么 您需要使用==要求对象的类型相同。然而,JavaScript在==中是松散的: a=37; b='37'; a==b //true a===b //

我有一个canvas元素,其中有一组矩形,这些矩形需要根据键盘上箭头键的选择相应地移动

index.html

<canvas id="snakeCanvas" width="400" height="350"></canvas>

我可以通过控制台调出keyCode值,但在调试时我注意到,调试器没有进入条件逻辑。我错过了什么

您需要使用
=
<代码>=要求对象的类型相同。然而,JavaScript在
==
中是松散的:

a=37;
b='37';
a==b //true
a===b //false

您需要使用
==
<代码>=要求对象的类型相同。然而,JavaScript在
==
中是松散的:

a=37;
b='37';
a==b //true
a===b //false

您的
方向
变量定义在哪里?另外,如果它没有值,您的任何条件都不会返回true…@NewToJS我有一个constants.js文件,其中定义了方向add
console.log(方向)
在if条件之前,检查它是否包含所需的字符串。@NewToJS,因此默认情况下,我在常量文件中将方向设置为“向下”,并且在添加console.log(方向)时,无论按箭头键,方向始终打印为“向下”。如果删除包含整数的引号,则当前尝试也将有效。示例:
keyDirection==37&&direction!='右“
您的
方向
变量定义在哪里?另外,如果它没有值,您的任何条件都不会返回true…@NewToJS我有一个constants.js文件,其中定义了方向add
console.log(方向)
在if条件之前,检查它是否包含所需的字符串。@NewToJS,因此默认情况下,我在常量文件中将方向设置为“向下”,并且在添加console.log(方向)时,无论按箭头键,方向始终打印为“向下”。如果删除包含整数的引号,则当前尝试也将有效。示例:
keyDirection==37&&direction!='右“