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