【发布时间】:2015-09-04 21:43:42
【问题描述】:
我正在编写一个热或冷的应用程序。我需要一个 switch 语句来决定用户是热还是冷。到目前为止,这是我的代码:
switch(true) {
case (userGuess / secretNumber === 1):
setFeedback("You win");
finish = true;
break;
case ((userGuess - secretNumber) > 50):
setFeedback("You're ice cold!");
break;
case ((userGuess - secretNumber) > 30):
setFeedback("You're cold!");
break;
case ((userGuess - secretNumber) > 20):
setFeedback("You're warm!");
break;
case ((userGuess - secretNumber) > 10):
setFeedback("You're hot!");
break;
case ((userGuess - secretNumber) > 0):
setFeedback("You're blazing hot!");
break;
}
编辑: 我正在尝试用开关替换以下 if/else 语句。请告诉我是否可能,如果可能:如何。这是旧代码:
if (userGuess / secretNumber === 1){
setFeedback("You win");
finish = true;
} else if ((secretNumber - userGuess) > 60.5){
setFeedback("Wow! You are freezing!");
} else if ((secretNumber - userGuess) > 55.5){
setFeedback("Wow! You better put on a jacket cause its super cold!");
} else if ((secretNumber - userGuess) > 50.5){
setFeedback("Its is super cold man!");
} else if ((secretNumber - userGuess) > 40.5) {
setFeedback("Now you are cold!");
} else if ((secretNumber - userGuess) > 30.5) {
setFeedback("It's getting warm around here");
} else if((secretNumber - userGuess) > 20.5) {
setFeedback("It's getting very warm in here!");
} else if((secretNumber - userGuess) > 15.5) {
setFeedback("It's getting very very warm in here!");
} else if ((secretNumber - userGuess) > 7.5){
setFeedback("It's hot!");
} else if ((secretNumber - userGuess) > 5.5){
setFeedback("It is very hot here!");
} else if ((secretNumber - userGuess) > 1.5){
setFeedback("I am burning here!!");
} else if ((secretNumber - userGuess) > 0.5){
setFeedback("Its is hotter than the sun!!!!!");
} else {
}
【问题讨论】:
-
这太笼统了,你到底在问什么?
-
我正在尝试替换这个 if/else 语句:
-
已经做到了。参考我的回答
-
取secretNumber的绝对值-userGuess。如果 userGuess 大于 secretNumber 怎么办?
标签: javascript switch-statement equality