いくつかの値のみを受け入れるプログラムを作成しようとしています。したがって、「e」変数が1、2、または3でない場合は、数値が正しくないことを示しますが、値がこれらの数値と等しい場合は、else部分が実行されます。
これらはすべて非常に初心者レベルで実装が簡単に聞こえるかもしれませんが、コードを実行すると、「e」に設定したすべての値がif部分を実行します。
コードは次のとおりです。
var e;
e=parseFloat(prompt("Input e",""));
if(e!=1 || e!=2 || e!=3)
{
alert("put again E");
}
else
{
//whatever
}
あなたは英語で「1、2、3ではない」と言いましたが、それは!(e == 1 || e == 2 || e == 3)
;と書かれています。または、論理的に等価な「1ではなく、2ではなく、3ではない」を使用して表現することもできe != 1 && e != 2 && e != 3
ます。
あなたが書いたのは「1でも2でも3でもない」です。値が1の場合、それは2ではありません(また3でもありません)。したがって、「1でも2でも3でもない」は依然として真です。実際、これらのうち少なくとも2つ(3つすべてではないにしても)が真になるため、どの値にも当てはまります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加