javascript:switch语句
我正在尝试学习如何使用javascript执行switch语句。你们能帮我把这个转换成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';
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我明白你的意思,我只是在分享一段有趣的代码;)实际上我不确定它是否应该用于生产。