我正在尝试编写一个执行以下操作的简单程序:
构建一个名为 changePowerTotal 的函数声明,其中包含:
当前产生的总功率(数字) 发电机 ID(数字) 发电机的新状态(表示“开”或“关”的字符串)以及该发电机产生的电量(数字) 你的函数应该:
以以下格式向技术人员返回新的总发电量警报 开启:
2 号发电机现在启动,增加了 62 兆瓦,总共 62 兆瓦!或用于关闭:
2 号发电机现在关闭,移除 62 兆瓦,总共 0 兆瓦!
到目前为止,我的解决方案如下:
var generatorId = 2;
var status = "off";
var totalCurrentPower = 62;
var powerProduced = 62;
function changePowerTotal (totalCurrentPower, generatorId, status, powerProduced){
if(status = "off"){
var offPowerTotal = totalCurrentPower - powerProduced;
alert('Generator #' + generatorId + ' is now ' + status + ' , removing ' + powerProduced + 'mw, for a total of ' + newPowerTotal + 'MW!');
return offPowerTotal;
}
else {
var onPowerTotal = totalCurrentPower + powerProduced;
alert('Generator #' + generatorId + ' is now ' + status + ' , adding ' + powerProduced + 'mw, for a total of ' + newPowerTotal + 'MW!');
return onPowerTotal;
}
}
问题是这不会引发警报,对我来说更糟糕的是新手,它不会在 javascript 控制台中产生错误。我究竟做错了什么?
如果我将其分解并将警报中的所有变量分配为全局变量,然后发出警报,它就可以工作(见下文)。这让我相信它与我函数中的 if/else 有关。
var generatorId = 2; var状态=“关闭”;var totalCurrentPower = 62; var powerProduced = 62; 新电源总 = 0;
alert('Generator #' + generatorId + ' 现在是 ' + status + ' ,移除 ' + powerProduced + 'mw,总共是 ' + newPowerTotal + 'MW!');
任何帮助将不胜感激。我也尝试过删除退货并留下警报。这似乎没有帮助。