这是我的小调试提示。差一点把我的监视器扔出窗外。只查看突出显示的代码。到底在什么情况下才会触发这样的警报?-- http://i.stack.imgur.com/nrf1x.png
这里是完整的,但我不认为它是重要的:http://jsfiddle.net/Timson/QqVrF/8/
if (currLoad > maxload){
alert("I am dumbass, I think that "+currLoad+' is more than '+maxload);
}发布于 2012-12-07 04:46:36
有没有可能变量都是字符串?在javascript控制台中:
6 > 1000
false
"6" > "1000"
true发布于 2012-12-07 04:49:00
尝试:
if (parseInt(currLoad) > parseInt(maxload)){
alert("I am dumbass, I think that "+currLoad+' is more than '+maxload);
}正如前面的答案所说,您可能是在比较字符串。
发布于 2012-12-07 04:50:07
您可以从表单输入中获取这些值,因此它们是字符串。比较字符串与比较数字不同,因此"6" > "1000"为真,而6 > 1000为假。
从表单输入中获得的每个数字都应该被解析为number,如果它应该是一个数字的话。例如,使用parseInt或Number函数。例如:parseInt(currLoad, 10)等。
https://stackoverflow.com/questions/13752174
复制相似问题