javascript:switch语句

javascript:switch语句,javascript,switch-statement,Javascript,Switch Statement,我正在尝试学习如何使用javascript执行switch语句。你们能帮我把这个转换成switch语句吗 if (x == ix && y == iy){//should be the default x.style.backgroundColor = 'white'; } if(x < ix){ x.style.backgroundColor = 'red';

我正在尝试学习如何使用javascript执行switch语句。你们能帮我把这个转换成switch语句吗

        if (x == ix && y == iy){//should be the default 
            x.style.backgroundColor = 'white'; 
        }
        if(x < ix){
            x.style.backgroundColor = 'red'; 
        }
        else if(x > ix){
            x.style.backgroundColor = 'blue';  
        }
        if(y < iy){
            x.style.backgroundColor = 'green'; 
        }
        else if(y > iy){
            x.style.backgroundColor = 'yellow';  
        }
if(x==ix&&y==iy){//应该是默认值
x、 style.backgroundColor='白色';
}
if(xix){
x、 style.backgroundColor='蓝色';
}
if(yiy),则为else{
x、 style.backgroundColor='黄色';
}

JavaScript不支持在
switch
es中严格相等以外的操作。换句话说,您不能将该程序作为
开关编写

开关
中,您可以将变量与不同的值(或
大小写
s)进行比较,并检查它们是否相等。如果是,则执行
案例
中给出的代码

但是,有一个缺点,就是您可以轻松地将此代码转换为交换机:

if (a === 1) {
  console.log("one");
} else if (a === 2) {
  console.log("two");
} else {
  console.log("Out of range! :(");
}
开关中的上述代码为

switch (a) {
  case 1:
    console.log("one");
    break;

  case 2:
    console.log("two");
    break;

  default:
    console.log("Out of range! :(");
    break;
}
但是,对于包含关系操作的代码,不能执行相同的操作

switch (a) {
  case > 1: // throws error
    doSomething();
    break;
}

希望这能有助于转换您的上述条件

switch (new Date().getDay()) {
    case 0:
        day = "Sunday";
        break;
    case 1:
        day = "Monday";
        break;
    case 2:
        day = "Tuesday";
        break;
    case 3:
        day = "Wednesday";
        break;
    case 4:
        day = "Thursday";
        break;
    case 5:
        day = "Friday";
        break;
    case 6:
        day = "Saturday";
}

我不会用switch语句重写它,这也不太可能。顺便说一下,如果
x==ix
但是
y!=iy
那么您可能会遇到一个从裂缝中掉落的案例。你应该仔细检查你的逻辑。你对结果做了一些图表吗?
y
的值比
x
具有更高的优先级。什么是
x
y
ix
iy
?@TimBiegeleisen为什么不呢。。。这里有一些你可能会感到惊讶的事情,我看到我来自php后端,只是想尝试一下javascript是否能做到这一点php@Derek朕會功夫, 这很有趣,但不幸的是,我不是这个意思。@KarthaCoder我明白你的意思,我只是在分享一段有趣的代码;)实际上我不确定它是否应该用于生产。