سؤال
عند الجمع بين المهمة مع الفاصلة (شيء لا يجب عليك فعله ، على الأرجح) ، كيف تحدد 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" هي استدعاء دالة مع أربع وسيطات. والثاني هو تقييم الفاصلة في حجة واحدة.
لذا ، الجواب: قيمة قائمة التعبيرات مفصولة "، هي قيمة التعبير الأخير.
لا تنتمي إلى StackOverflow