<!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>';
}
}
Edit2:谢谢你的回答。第一个代码是固定的,第二个代码仍然被破坏,无论我尝试什么。要在脚本的其他地方寻找错误......
答案 0 :(得分:4)
比较值时,应使用==
(等于)或===
(相同且相同的类型)。 =
仅用于设置变量值。
<!DOCTYPE html>
<html>
<body>
<button onClick="Display()"></button>
<script>
function Display() {
var a = 0;
if(a == 0){
alert("hello world");
}
}
</script>
</body>
</html>
&#13;
在另一段代码中,我创建了一个jsfiddle。你有与第一部分相同的问题,错误的比较运算符。如果CorrectActivities
未被声明,它就无法运行。我修复它(就像在第一部分中一样),声明变量并添加了三个按钮来测试所有情况,它似乎有效。
在案例3中你也有小错字,你在<span>style
答案 1 :(得分:0)
a = 0
分配不是有效条件。 a == 0
,a === 0
或!a
都可以满足您的需求。
与CorrectActivities
相同,使用CorrectActivities == 3
代替CorrectActivities = 3
。
答案 2 :(得分:0)
在javascript =
中指定一个值并将其返回,==
或===
比较值
第一部分不会执行因为:
Display
被召唤if(a = 0)
评估为if(0)
,即javascript if(false)
因此if
内的代码无法运行。你想要的是if(a == 0)
:
function Display() {
var a = 0;
if (a == 0) {
alert("hello world");
}
}
&#13;
<button onClick="Display()"></button>
&#13;
第二部分
if(CorrectActivities = 3)
的将是if(3)
,这是javascript if(true)
所以它将始终运行。再次你想要的是使用==
运算符:
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>'
}
}
答案 3 :(得分:0)
这是因为您要分配它而不是比较。
所以语句if(a = 0)总是真的。
使用==而不是=。
function Display() {
var a = 0;
if(a = 0){
alert("hello world");
}
}
这会有所帮助。