这是我的小调试警报。差点把我的显示器扔出窗外。 仅查看突出显示的代码。在这种情况下,这种警报会被触发吗? - 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);
}
答案 0 :(得分:4)
变量是否可能都是字符串?在javascript控制台中:
6 > 1000
false
"6" > "1000"
true
答案 1 :(得分:0)
尝试:
if (parseInt(currLoad) > parseInt(maxload)){
alert("I am dumbass, I think that "+currLoad+' is more than '+maxload);
}
正如早先的回答所说,你可能正在比较字符串..
答案 2 :(得分:0)
您从表单输入中获取这些值,因此它们是字符串。比较字符串与数字不同,因此"6" > "1000"
为真,而6 > 1000
为false。
从表单输入中获取的每个数字都应解析为数字(如果它应该是数字)。例如,使用parseInt
或Number
函数。例如:parseInt(currLoad, 10)
等。