سؤال

عند الجمع بين المهمة مع الفاصلة (شيء لا يجب عليك فعله ، على الأرجح) ، كيف تحدد JavaScript القيمة التي يتم تعيينها؟ النظر في هاتين المقتطفات:

function nl(x) { document.write(x + "<br>"); }
var i = 0;
nl(i+=1, i+=1, i+=1, i+=1);
nl(i);

و:

function nl(x) { document.write(x + "<br>"); }
var i = 0;
nl((i+=1, i+=1, i+=1, i+=1));
nl(i);

المخرجات الأولى

1
4

بينما المخرجات الثانية

4
4

ماذا تفعل الأقواس هنا؟

هل كانت مفيدة؟

المحلول

كنت أربك شيئين هنا. المكالمة الأولى إلى "NL" هي استدعاء دالة مع أربع وسيطات. والثاني هو تقييم الفاصلة في حجة واحدة.

لذا ، الجواب: قيمة قائمة التعبيرات مفصولة "، هي قيمة التعبير الأخير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top