Javascript切换和if语句有多个条件做某事真的很奇怪?

时间:2014-05-08 18:01:31

标签: javascript if-statement switch-statement

我试图创建一个函数来改变点对象的属性x或y的值四次,每次只有满足两个条件。变量permissionSomething必须为1,x或y必须大于或小于某个数字,因为在这种情况下,它用于画布上的移动点,它必须保留在画布中。如果按下某个键,PermissionSomething设置为1,如果该键再次上升,则更改回默认值-1。

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;
    }
}  

如果我运行它,即使没有按任何键,它也会以某种奇怪的方式开始移动,停止并开始来回移动。如果我没有按任何键,那么一些东西永远不应该是1,所以它永远不会移动。如果我写下四个if语句,就会发生同样的事情:

if (permissionLeft = 1 && dot.x > 29) {
dot.x--};

if (.....

0 个答案:

没有答案