空调功能

时间:2019-01-05 12:59:48

标签: javascript if-statement conditional-statements simulation

我有问题。我是Javascipt的初学者,有一个我无法解决的问题。 “空调器具有一个可测量室温的内置温度计。当用户在遥控器中输入所需温度时,它开始工作,但其风扇速度取决于实际温度与所需温度之间的差。如果相差大于10度,则风扇速度为3倍;如果大于5但小于或等于10,则风扇速度为2倍;在0至5度之间,风扇速度为1倍。模拟空调”就是这个问题。我在下面编写了代码,但我尝试输入的每个数字都会返回1x。你能帮我吗?

function airConditioner(aT, dT) {
  var difference = function (aT , dT) { 
    return Math.abs(aT-dT); 
  }
  if (difference > 10) {
    return "3x";
  } 
  else if (difference < 10) {
    return "2x";
  } 
  else if (5 < difference || difference < 10) {
    return "2x";
  } 
  else { 0 < difference || difference < 5
    return "1x";
  }
}

airConditioner(19, 15);
  

1 个答案:

答案 0 :(得分:3)

调用差异函数后需要结果,或者仅是绝对增量的结果。

顺便说一句,您不需要其他任何部分,因为如果返回,则该函数已完成。

然后,您只需要检查更大的值,然后返回即可。以下检查假设值较小,因此无需再检查上限。

function airConditioner(aT, dT) {
    var difference =  Math.abs(aT - dT);
  
    if (difference > 10) {
        return "3x";
    }
    if (difference > 5) {
        return "2x";
    }
    return "1x";
}

console.log(airConditioner(19, 15));