1

私のコードはこれ以上簡単ではありません...

if (iWant > thereAre){
    msg = "There's only "+thereAre+" left, but you want "+iWant
} else {
    gimmie
}

しかし、時々それは動作します..時には毎回else{を行います...時には毎回if{を行います...>を<に切り替えても、以前と同じように機能します....?

JS を壊すことはできますか? 「あと 87 個しか残っていませんが、2 個必要です」というメッセージが表示されることもあります。

iWant var がフォーム投稿から取得されています

thereAre var は MySql COUNT から取得されています

助けてください.. 気が狂いそうです。

4

1 に答える 1

2

変数が数値 4 または文字列 '4' の場合があります。

文字列の比較ではなく、数値の比較が必要な場合は、1 を掛けるか、parseInt/parseFloat を使用して、確実に数値を処理することができます。

if (1*iWant > 1*thereAre ){ 
  too much; 
} else {
  ok;
}

ただし、何らかの形でユーザー入力が関与し、iWant が 2 または "2" ではなく "two" または "2oops" の場合、このコードは引き続き機能しますが、有用な方法ではありません。

問題がある場合は、必要に応じて非数値を検出することもできます。

于 2013-06-05T19:18:50.877 に答える