【问题标题】:Multiple Conditions in an If statementIf 语句中的多个条件
【发布时间】:2015-01-20 23:11:41
【问题描述】:
if (gold >= 5 || (item1 = false) ) { 
  item1 = true;
  gold = gold - 5;
}

即使 item1 为真,这也会继续。如果不满足其中任何一个,我希望该功能不运行。谢谢

【问题讨论】:

  • item1 == false!item1
  • “如果其中任何一个不满足,我希望该功能不运行。” - 请您改写一下吗?您的意思是,如果任一条件为真,或者仅当 both 都为真(在这种情况下您需要 && 而不是 ||)时,分配应该发生?

标签: javascript if-statement multiple-conditions


【解决方案1】:

Item1 = false 是一个始终评估为 false 的赋值。

你需要 item1 == false

【讨论】:

    【解决方案2】:

    您必须了解赋值 (=) 和等价比较 (==) 之间的区别。您的代码将 false 值分配给变量 item1。要评估 item1 的值,请使用:

    if (gold >= 5 || item1 == false ) {
        item1 = true;
        gold = gold - 5;
    }
    

    另外,括号内的额外嵌套不是必需的。

    【讨论】:

      【解决方案3】:

      尝试改变这一点:

      if (gold >= 5 || (item1 = false) ) { item1 = true; gold = gold - 5; }
      

      有了这个:

      if (gold >= 5 || (item1 == false) ) { item1 = true; gold = gold - 5; }
      

      使用 2 = 符号检查等价性。使用 1 = 符号,您正在分配变量,而不是比较它。希望这会有所帮助

      【讨论】:

        猜你喜欢
        • 2013-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-25
        • 1970-01-01
        • 2013-11-17
        • 2015-03-24
        相关资源
        最近更新 更多