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は偽です。

フォーム入力から取得した各数値は、数値であると想定されている場合は数値に解析する必要があります。例parseIntまたはNumber関数を使用します。例:parseInt(currLoad, 10)など

于 2012-12-06T20:50:07.000 に答える