レッスンに戻る

OR演算されたアラートの結果は何ですか?

重要度:3

以下のコードはどのような出力を生成しますか?

alert( alert(1) || 2 || alert(3) );

答え: 最初は1、次に2

alert( alert(1) || 2 || alert(3) );

alertの呼び出しは値を返しません。または、言い換えれば、undefinedを返します。

  1. 最初のOR ||は左オペランドalert(1)を評価します。これが最初のメッセージを1と共に表示します。
  2. alertundefinedを返すので、ORは偽の値を検索して2番目のオペランドに進みます。
  3. 2番目のオペランド2は真なので、実行は停止し、2が返されて、外部のアラートで表示されます。

3は表示されません。評価はalert(3)に到達しないためです。