javascript:switch语句
我在学习如何使用javascript做switch语句。你们能帮我怎么把这个转换成switch语句吗?javascript: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';
}
JavaScript不支持除严格等于switch
es之外的操作。换句话说,您不能将该程序编写为switch
。
在switch
中,您可以将变量与不同的值(或case
s)进行比较并检查它们是否相等。如果是,则执行case
下的代码。
有一个缺点,但是,它是你可以将此代码转换成易于开关:
if (a === 1) {
console.log("one");
} else if (a === 2) {
console.log("two");
} else {
console.log("Out of range! :(");
}
在switch
上面的代码是
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;
}
那么...这里有一些你可能会觉得奇怪的东西https://jsfiddle.net/DerekL/jpw147pr/ –
我看到我来自php后端试图如果JavaScript可以做这样的一个php –
@Derek朕会功夫,这很有趣,但不幸的是,这不是我的意思。 – KarthaCoder
希望这可以帮助您转换上述条件。
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'? – Taurus