نتيجة التنبيهات التي بينها OR?
ما خرج الكود التالي ؟
alert( alert(1) || 2 || alert(3) );
الإجابة: أولًا 1
ثم 2
.
alert( alert(1) || 2 || alert(3) );
استدعائ alert
لا يرجع أي قيمة أو بمعنى آخر يرجع undefined
.
- أول OR
||
تنفذ العملية على يسارهاalert(1)
. وهذا يعرض أول رسالة1
. - إن
alert
ترجعundefined
لذلك تنتقل OR للعملية الثانية بحثًا عن قيمة truthy. - القيمة الثانية
2
هي truthy لذلك يتوقف التنفيذ وترجع2
ويتم عرضها.
لن يتم عرض 3
لأن التنفيذ لم يصل إلى alert(3)
.