Javascript 多次返回警报

Javascript 多次返回警报,javascript,Javascript,我正在学习JS,并试图解决一个编码难题。当我输入参数时,我假设有一个警报告诉用户发电机总量和总瓦数。问题是代码阅读器说我在提醒不止一个人。我在做什么使警报被多次调用?这是我的第一次尝试: function changePowerTotal(totalMW,genID,status,powerMW){ if(typeof(status) == "on" || typeof(status) == "ON"){ alert("Generator #"+genID+" is now on,

我正在学习JS,并试图解决一个编码难题。当我输入参数时,我假设有一个警报告诉用户发电机总量和总瓦数。问题是代码阅读器说我在提醒不止一个人。我在做什么使警报被多次调用?这是我的第一次尝试:

function changePowerTotal(totalMW,genID,status,powerMW){

  if(typeof(status) == "on" || typeof(status) == "ON"){
    alert("Generator #"+genID+" is now on, adding "+powerMW+" MW, for a total of "+ (totalMW) +" MW!");
    return false;
  } else {

    if(totalMW == 0){

       alert("Generator #"+genID+" is now off, removing "+powerMW+" MW, for a total of "+ (powerMW) +" MW!");

    } else {

       alert("Generator #"+genID+" is now off, removing "+powerMW+" MW, for a total of "+ (totalMW - powerMW) +" MW!");
    }

    return false;
  }
}
changePowerTotal(0,2,"off",62);
我也试过:

function changePowerTotal(totalMW,genID,status,powerMW){

  var genStatus = "";

  if(status === "on"){

   genStatus = " is now on, adding "
   totalMW = totalMW + powerMW;

  } else {

   genStatus = " is now off, removing "
   totalMW = totalMW - powerMW;

  }

  alert("Generator #"+genID+genStatus+powerMW+" for a total of "+totalMW+" MW!");

}

changePowerTotal(142,2,"off",62);

函数中没有问题,我猜你是不是无意中调用了两次?
请检查您是否这样做,此功能无法发出两次警报。您打两次电话一定是弄错了。

谢谢大家的帮助。我找到了解决方案,它是:

function changePowerTotal (totalMW, genID, genStatus,genMW){

  var curStatus = " ";
  var sumMW = 0;

  if(genStatus === "off"){

   curStatus = " is now "+genStatus+", removing ";
   alert("Generator #"+genID+curStatus+genMW+" MW, for a total of "+totalMW+"MW!");
   return totalMW + genMW

  } else {

    curStatus = " is now "+genStatus+", adding ";
    sumMW = genMW + totalMW;
    alert("Generator #"+genID+curStatus+genMW+" MW, for a total of "+(totalMW + genMW)+"MW!");
    return totalMW + genMW

  }  
}

您的第一个示例似乎只提醒了一次,因为这是我的事情吗?很多网站都有自己的翻译来解答特定的问题,这真的很难。您的代码看起来不错,但多个
警报
语句听起来像是罪魁祸首。再说一遍,没错……但你的第二种方法客观上更好。你的第二个版本也有同样的抱怨吗?或者还有其他任意问题需要提醒你吗?我正在使用CodeSchool,第二个解决方案也会收到相同的错误警报:提交错误您的函数会多次发出警报。这听起来好像是解释器的错误。可能只是显示了错误的错误,而错误实际上是打印了错误的字符串?如果不是这个问题,我们肯定需要更多的细节。下面是挑战中的文本:构建一个名为changePowerTotal的函数声明,该声明接受:当前总发电量(一个数字)一个发电机ID(一个数字)发电机的新状态(一个表示“开”或“关”的字符串)该发电机产生的电量(一个数字)您的功能应该:返回新的总发电量,并以以下格式提醒技术人员打开:发电机#2现在打开,增加62 MW,总共62 MW!或用于关闭:2号发电机现在关闭,减少62兆瓦,总共0兆瓦!我只打过一次电话。我想也许我必须以一种特定的方式编写解决方案,以避免出现任何错误。谢谢你的帮助。当你关机时该如何进行减法?你这样做不是为了你的返回值,也不是为了你的报警字符串。我尝试了一个函数减法的解决方案,但它不会通过。我假设他们只需要一个“开”和一个“关”,总功率为0兆瓦。我尝试了这么多的变化,这是唯一一个会通过。