0

Firefox のブラウザ コンソールに次のように入力すると、結果は次のようになります456

if (false) { 123; } else if (true) { 456; } else { 789; }

true/の組み合わせを調整すると、結果としてorfalseも得られます。ただし、次のようなことをしようとすると:123789

var a = if (false) { 123; } else if (true) { 456; } else { 789; };

構文エラーが発生するだけです。構文エラーは私を驚かせませんが、ifその値を使用できない場合、その値を持つステートメントのポイントは何なのか疑問に思っています。

だから私の質問は:ifステートメントを式として使用できますか? もしそうなら、どのように?


編集:これまでの回答に感謝しますが、完全に明確にするために、関数や三項演算子を使用して説明したことを達成できることは知っていますが、特に「戻り値」ifつまり、ifステートメントを式として使用できるかどうか。さまざまな条件に基づいて値を設定する別の方法を求めているわけではありません。

(そしてif、式として an を使用できない場合、Firefox のブラウザー コンソールが上記の最初の例の値を表示するのはなぜですか?)

4

4 に答える 4

3

三項演算子を使用できます。

var a = false ? 123 : true ? 456 : 789;
于 2013-10-22T10:53:34.870 に答える
0

代わりに関数として持っています:

function a(b) //where b is your boolean
{
   if(b)
   {
      return 123;
   }
   else
   {
      return 456;
   }
}
于 2013-10-22T10:55:21.053 に答える
0

三項演算子を使用します: var x = (true ? 432 : 765); // x を 432 に設定します

関数を使用した JavaScript 三項演算子の例も参照してください。

于 2013-10-22T10:55:35.257 に答える
0

その式を直接使用する代わりに、関数を使用してください。そして、それらの値も返す必要があります。

 
var a=function(){if (false) { return 123; } else if (true) { return 456; } else { return 789; }}
alert(a());
于 2013-10-22T11:09:52.220 に答える