JQueryのソースコードでは特に&&と||がよく使われているので、jsを体系的に学んだことがないので、ご指導いただければ幸いです。
大まかな理解は次のとおりです。
a() && b(): a() の実行後に true が返された場合は、b() が実行され、false の場合は b の値が返されます。 a() の実行後に返される場合、式全体が a() の値を返し、 b() は実行されません。
a() || a() の実行後に true が返される場合、式全体は a() の値を返しますが、b() は実行されません。a() の実行後に false が返された場合は、b() が実行され、b() の値が返されます。
よりも次のように優先されます:
コード
alert((1 && 3 || 0) && 4); //結果 4 ①
alert(1 && 3 || 0 && 4); //結果 3
alert(0 && 3 || 1 && 4); //結果 4 ③
分析:
ステートメント①: 1&&3 returns 3 => 3 || 0 returns 3 => 3&&4 returns 4
ステートメント②:最初に1&&3を実行して3を返し、次に0&&4を実行して0を返し、最終的な実行結果は3||0と比較され3を返します
ステートメント③:最初に0&&3を実行して0を返し、次に 1&&4 を実行して 4 を返し、最終的な実行結果は 0||4 と比較されて 4 を返します
注: 0 以外 整数はすべて true、未定義、null であり、空の文字列 "" は false です。