【问题标题】:JavaScript if statements not functioning [duplicate]JavaScript if 语句不起作用[重复]
【发布时间】:2018-08-28 16:34:07
【问题描述】:

我确信有一个完全合乎逻辑的解释来解释为什么这不能按我想要的方式工作,但我是 JavaScript 新手,所以希望得到一些帮助。即使我希望它打印出 no,您是否有任何理由知道为什么它会打印出 yes。 提前致谢

<script type="text/javascript">
    var username = prompt("What is your VC?");
    if (username = "wow") {
        greeting = document.write("yes");
    } else {
        document.write("no");
    }  
</script>

【问题讨论】:

    标签: javascript


    【解决方案1】:

    = 运算符用于赋值,检查值可以使用===。 所以,改变 if 如下:

    if (username === "wow")
    

    工作代码如下:

    var username = prompt("What is your VC?");
    if (username === "wow") { 
        greeting = document.write("yes"); 
    } else 
    { 
        document.write("no"); 
    }

    【讨论】:

      【解决方案2】:

      是的。一个= 是分配。两个== 测试相等。还有三个=== 测试strict equality

      var username = prompt("What is your VC?");
      if (username === "wow") {
        document.write("yes");
      } else {
        document.write("no");
      }

      【讨论】:

        【解决方案3】:

        当你说:

        a = b
        

        您是说“将 a 设置为 b 中的值”。

        如果您在 if 语句的表达式中发现了这一点,它会将 b 分配给 a,然后 thrn 检查 a 的新值是否为“真”。

        如果你要问“a是否等于b”,你必须说:

        a == b
        

        我知道 == 和 === 有区别,但我不是 JavaScript 高手,所以我不能告诉你有什么区别!

        【讨论】:

        • === 比较类型。 true == "true",但 true !== "true"
        猜你喜欢
        • 2012-11-30
        • 2023-02-06
        • 1970-01-01
        • 2015-05-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多