<!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/