JavaScript if 语句不起作用[重复]

Posted

技术标签:

【中文标题】JavaScript if 语句不起作用[重复]【英文标题】:JavaScript if statements not functioning [duplicate] 【发布时间】: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>

【问题讨论】:

【参考方案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"

以上是关于JavaScript if 语句不起作用[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Javascript:document.getElementById.innerHTML 中的 if-else 语句不起作用

使用 Javascript IF 语句检查 style.width [重复]

如果循环中的语句不起作用[重复]

if语句被忽略[重复]

IF 语句不起作用

Javascript代码不起作用?告诉我为啥[重复]