Javascript开关和带有多个条件的if语句做了一些非常奇怪的事情?
我试着做一个函数,改变点对象的属性x或y的值四次,每次只有在满足两个条件时。变量permissionSomething必须是1,x或y必须大于或小于某个数字,因为在这种情况下,它用于画布上的移动点,该点必须保持在画布内。PermissionSomething在按下某个键时设置为1,如果该键再次向上,则会变回默认值-1Javascript开关和带有多个条件的if语句做了一些非常奇怪的事情?,javascript,if-statement,switch-statement,Javascript,If Statement,Switch Statement,我试着做一个函数,改变点对象的属性x或y的值四次,每次只有在满足两个条件时。变量permissionSomething必须是1,x或y必须大于或小于某个数字,因为在这种情况下,它用于画布上的移动点,该点必须保持在画布内。PermissionSomething在按下某个键时设置为1,如果该键再次向上,则会变回默认值-1 var permissionLeft = -1; var permissionRight = -1; var permissionUp = -1; var permissionDo
var permissionLeft = -1;
var permissionRight = -1;
var permissionUp = -1;
var permissionDown = -1;
function update()
{
switch (true)
{
case permissionLeft = 1 && dot.x > 29:
dot.x--;
break;
case permissionRight = 1 && dot.x < 841:
dot.x++;
break;
case permissionUp = 1 && dot.y > 29:
dot.y--;
break;
case permissionDown = 1 && dot.y < 541:
dot.y++;
break;
}
}
您可能希望使用==比较而不是=赋值…这样使用switch情况非常奇怪。
if (permissionLeft = 1 && dot.x > 29) {
dot.x--};
if (.....