غالبًا ما يتم استخدام هذين المشغلين ، ويتم الخلط بينهما وتسجيله دائمًا. . .
A () && b (): إذا تم إرجاع TRUE بعد تنفيذ A () ، ثم يتم تنفيذ B () ويتم إرجاع قيمة B ؛ إذا تم إرجاع خطأ بعد تنفيذ A () ، فإن التعبير بأكمله يعيد قيمة A () ، و B () لا يتم تنفيذه ؛
A () || B (): إذا تم إرجاع TRUE بعد تنفيذ A () ، فإن التعبير بأكمله يعيد قيمة A () ، و B () لا يتم تنفيذه ؛ إذا تم إرجاع خطأ بعد تنفيذ A () ، يتم تنفيذ B () وإعادة قيمة B () ؛
&& الأولوية أعلى من ||
الرمز كما يلي
ALERT ((1 && 3 || 0) && 4) ؛ // النتيجة 4 ①
ALERT (1 && 3 || 0 && 4) ؛ // النتيجة 3 ②
ALERT (0 && 3 || 1 && 4) ؛ // النتيجة 4 ③
تحليل
بيان ①: 1 && 3 return 3 => 3 || 0 إرجاع 3 => 3 && 4 إرجاع 4
البيان ②: أولاً ، قم بتنفيذ 1 && 3 وإرجاع 3 ، ثم قم بتنفيذ 0 && 4 وإرجاع 0 ، وأخيراً تنفيذ مقارنة النتائج 3 || 0 وإرجاع 3
البيان ③: أولاً ، قم بتنفيذ 0 && 3 وإرجاع 0 ، ثم قم بتنفيذ 1 && 4 وإرجاع 4 ، وأخيراً تنفيذ مقارنة النتائج 0 || 4 وإرجاع 4
ملاحظة: أعداد صحيحة ليست صفر صحيحة ، غير محددة ، خالية من السلاسل الخالية من الأوتار الخاطئة.