Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript开关和带有多个条件的if语句做了一些非常奇怪的事情?_Javascript_If Statement_Switch Statement - Fatal编程技术网

Javascript开关和带有多个条件的if语句做了一些非常奇怪的事情?

Javascript开关和带有多个条件的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

我试着做一个函数,改变点对象的属性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;
    }
}  

您可能希望使用==比较而不是=赋值…这样使用switch情况非常奇怪。
if (permissionLeft = 1 && dot.x > 29) {
dot.x--};

if (.....