下面的代码总是返回600,我不知道为什么。
任何帮助,将不胜感激。从if函数返回变量不会返回我很好的值
<p id="demo"></p>
var freq = "0";
if (freq = "0") {
var time = 300;
} else if (freq = "1") {
var time = 600;
}
document.getElementById("demo").innerHTML = time;
下面的代码总是返回600,我不知道为什么。
任何帮助,将不胜感激。从if函数返回变量不会返回我很好的值
<p id="demo"></p>
var freq = "0";
if (freq = "0") {
var time = 300;
} else if (freq = "1") {
var time = 600;
}
document.getElementById("demo").innerHTML = time;
您正在使用分配=
在if
条件,而不是平等的检查:==
在javascript中你需要==
或===
进行比较。 您也可以使用else if
构建分支
var freq = "0";
if (freq === "0") {
var time = 300;
} else if (freq === "1") {
var time = 600;
}
document.getElementById("demo").innerHTML = time;
<p id="demo"></p>
很少有更多的指针 使用数比较,而不是在你的代码(例如特定的),如果可能的字符串比较。
===
用于严格相等性比较MDN: Equality comparisons and sameness
var freq = "0";
var time;
if (freq == "0") {
time = 300;
}
if (freq =="1") {
time = 600;
}
因为'FREQ = “1”'是分配,而不是比较。你的意思是'freq ==“1”'? – jonrsharpe
'='(asign)!='==='(比较) – Lixus
单个公式符号分配值。比较是两个==,并且与匹配类型的比较是三个=== – Dean