我想做一个函数,当一个输入在给定的范围内时返回一个特定的字符串。使用案例:我想根据给定城市的温度改变我的网页的颜色。我有一个函数需要一个数字并返回一个颜色变体。但是,它似乎总是返回“粉红色”。任何帮助?无法找到这个JS函数中的错误
function colorTemperature(temperature){
if(temperature <= -10){
colorTemperatureResult = 'midnightblue';
}
if(temperature > 0 && temperature <= 10)
{
colorTemperatureResult = 'darkblue';
}
if(temperature > 10 && temperature <= 20)
{
colorTemperatureResult = 'royalblue';
}
if(temperature > 20 && temperature <= 30)
{
colorTemperatureResult = 'steelblue';
}
if(temperature > 30 && temperature <= 40)
{
colorTemperatureResult = 'deepskyblue';
}
if(temperature > 40 && temperature <= 50)
{
colorTemperatureResult = 'lightblue';
}
if(temperature > 50 && temperature <= 60)
{
colorTemperatureResult = 'lightyellow';
}
if(temperature > 60 && temperature <= 70)
{
colorTemperatureResult = 'lemonchiffron';
}
if(temperature > 70 && temperature <= 80)
{
colorTemperatureResult = 'khaki';
}
if(temperature > 80 && temperature <= 90)
{
colorTemperatureResult = 'orange';
}
if(temperature > 90 && temperature <= 100)
{
colorTemperatureResult = 'gold';
}
if(temperature >= 100)
{
colorTemperatureResult = 'orangered';
}
else {
colorTemperatureResult = 'pink';
}
return colorTemperatureResult;
}
此外,如果有一个更简单的方法来执行此功能没有所有这些条件,请让我知道。我知道输入正确传递,但不能在逻辑出错的地方弄清楚。
谢谢!
您的代码没有解决-9〜0 –
的'else'只绑定如果在它之前有'if',并且只会否定那个条件,所以它具有与'if(temperature <100){colorTemperatureResult ='pink'; }'。在这些之前的'if's可能正常工作,但是'else'接下来并且取代了这个值。 –