javascript - 为什么简单的 Javascript if 条件不会执行?

标签 javascript html

<!DOCTYPE html>
<html>
<body>

<button onClick="Display()"></button>

<script>
function Display() {
    var a = 0;
    if(a = 0){
      alert("hello world");
    }
} 

</script>

</body>
</html>

我运行该页面并单击按钮,但没有任何反应。我一生都无法弄清楚为什么......

编辑:另一方面,即使我没有定义 var CorrectActivities,此代码无论如何都会执行:

function Display() {

    if(CorrectActivities = 3) {
        document.getElementById("ActivitiesResult").innerHTML = '<span>style="color:DarkGreen;font-weight:bold;font-size:30px;">3 out of 3 correct!</span>';

    } else if (CorrectActivities = 2) {
        document.getElementById("ActivitiesResult").innerHTML = '<span style="color:Crimson;font-weight:bold;font-size:30px;">2 out of 3 correct!</span>';

    } else if (CorrectActivities = 1) {
        document.getElementById("ActivitiesResult").innerHTML = '<span style="color:Crimson;font-weight:bold;font-size:30px;">1 out of 3 correct!</span>';

    } else {
    document.getElementById("ActivitiesResult").innerHTML = '<span style="color:Crimson;font-weight:bold;font-size:30px;">0 out of 3 correct!</span>';
    }
}

编辑2:感谢您的回答。第一个代码已修复,无论我尝试什么,第二个代码仍然损坏。将在脚本中的其他位置查找错误...

最佳答案

比较值时,应使用 == (等于)或=== (相等且相同类型)。 =仅用于设置变量值。

<!DOCTYPE html>
<html>
<body>

<button onClick="Display()"></button>

<script>
function Display() {
    var a = 0;
    if(a == 0){
    alert("hello world");
    }
} 

</script>

</body>
</html>

对于你的另一个代码,我创建了一个 jsfiddle 。那里有与第一部分相同的问题,错误的比较运算符。如果 CorrectActivities 则它不会运行没有宣布。我修复了它(就像第一部分一样),声明了变量并添加了三个按钮来测试所有情况,它似乎有效。

在情况 3 中,您也有一个小拼写错误,您在 <span>style 处有一个额外的右括号。

关于javascript - 为什么简单的 Javascript if 条件不会执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44246811/

相关文章:

javascript - 选择没有元素环绕的内容

javascript - 编辑后更改字体粗细不起作用

javascript - 我如何为 VS 为 TypeScript 所做的语言提供源代码级调试?

javascript - Canvas 油漆桶/洪水填充工具卡在循环中

c# - 如何将值从 c# 传递给 javascript 到 ascx 页面

javascript - HTML Canvas 和 Javascript - 通过选择(从多个位置)触发音频

html - 表格单元格中的输入和标签对齐

javascript - 通过 postman 发送一组数据到 Node

javascript - Neo4j虚拟机在windows azure中性能不佳

html - 如何将辅助导航栏添加到引导导航栏