OR演算されたアラートの結果は何ですか?
重要度:3
以下のコードはどのような出力を生成しますか?
alert( alert(1) || 2 || alert(3) );
答え: 最初は1、次に2。
alert( alert(1) || 2 || alert(3) );
alertの呼び出しは値を返しません。または、言い換えれば、undefinedを返します。
- 最初のOR
||は左オペランドalert(1)を評価します。これが最初のメッセージを1と共に表示します。 alertはundefinedを返すので、ORは偽の値を検索して2番目のオペランドに進みます。- 2番目のオペランド
2は真なので、実行は停止し、2が返されて、外部のアラートで表示されます。
3は表示されません。評価はalert(3)に到達しないためです。