2

这是我的小调试警报。差点把我的显示器扔出窗外。仅查看突出显示的代码。到底在什么情况下会触发这样的警报?- 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);
}
4

3 回答 3

4

变量有可能都是字符串吗?在 JavaScript 控制台中:

6 > 1000
  false

"6" > "1000"
  true
于 2012-12-06T20:46:35.683 回答
0

尝试 :

if (parseInt(currLoad) > parseInt(maxload)){
            alert("I am dumbass, I think that "+currLoad+' is more than '+maxload);
        }

正如较早的答案所说,您可能正在比较字符串..

于 2012-12-06T20:48:59.597 回答
0

您从表单输入中获取这些值,因此它们是字符串。比较字符串与数字不同,因此"6" > "1000"为真而6 > 1000为假。

如果您从表单输入中获得的每个数字应该是数字,则应该将其解析为数字。使用示例parseIntNumber函数。例如:parseInt(currLoad, 10)等。

于 2012-12-06T20:50:07.000 回答