【问题标题】:javascript if/else program not producing alert as expectedjavascript if/else 程序未按预期生成警报
【发布时间】:2013-11-10 23:47:57
【问题描述】:

我正在尝试编写一个执行以下操作的简单程序:

构建一个名为 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; newPowerTotal = 0;

alert('Generator #' + generatorId + ' 现在是 ' + status + ' ,移除 ' + powerProduced + 'mw,总共是 ' + newPowerTotal + 'MW!');

任何帮助将不胜感激。我也尝试过删除退货并留下警报。这似乎没有帮助。

【问题讨论】:

  • ===== 更好用,因为它也会检查类型。 === 基本上意味着完全等于。
  • 您正在分配offPowerTotal,但随后在下一行使用newPowerTotal
  • 您真的要检查if else 中的布尔条件吗?因为您的if 条件将始终为真!

标签: javascript if-statement


【解决方案1】:

除了已经提到的问题之外,我认为问题可能在于您没有调用该函数。你需要有

changePowerTotal()

调用某个地方让它工作,甚至抛出一个错误。此外,请确保定义了所有变量,并记住“=”是赋值,要检查变量使用“==”或“===”。

【讨论】:

    【解决方案2】:

    我同意上述陈述,here is a plunker example of it implemented 希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-11-28
      • 1970-01-01
      • 1970-01-01
      • 2020-04-09
      • 2020-03-11
      • 1970-01-01
      • 2016-12-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多