คำถามติดแท็ก compound-assignment


7
ลำดับความสำคัญของตัวดำเนินการกับตัวดำเนินการ Javascript Ternary
ดูเหมือนว่าฉันจะพันหัวของฉันไปรอบ ๆ ส่วนแรกของรหัสนี้ (+ =) ร่วมกับตัวดำเนินการด้านท้ายไม่ได้ h.className += h.className ? ' error' : 'error' วิธีที่ฉันคิดว่ารหัสนี้ใช้งานได้มีดังต่อไปนี้: h.className = h.className + h.className ? ' error' : 'error' แต่นั่นไม่ถูกต้องเพราะนั่นทำให้เกิดข้อผิดพลาดในคอนโซลของฉัน ดังนั้นคำถามของฉันคือฉันจะเชื่อมต่อรหัสนี้อย่างถูกต้องได้อย่างไร?

8
ตัวดำเนินการทางลัด“ or-assignment” (| =) ใน Java
ฉันมีการเปรียบเทียบที่ต้องทำใน Java มานานและฉันอยากรู้ว่าอย่างน้อยหนึ่งอย่างออกมาเป็นจริงหรือไม่ สตริงของการเปรียบเทียบเป็นเวลานานและยากที่จะอ่านดังนั้นฉันโพล่งขึ้นเพื่อให้สามารถอ่านและจะไปใช้ประกอบการทางลัดมากกว่า|=negativeValue = negativeValue || boolean boolean negativeValue = false; negativeValue |= (defaultStock < 0); negativeValue |= (defaultWholesale < 0); negativeValue |= (defaultRetail < 0); negativeValue |= (defaultDelivery < 0); ฉันคาดว่าnegativeValueจะเป็นจริงหากค่า <something> เริ่มต้นใด ๆ เป็นลบ ใช้ได้หรือไม่ มันจะทำตามที่ฉันคาดหวังหรือไม่? ฉันไม่เห็นมันกล่าวถึงบนไซต์ของ Sun หรือ stackoverflow แต่ดูเหมือนว่า Eclipse จะไม่มีปัญหากับมันและโค้ดจะคอมไพล์และรัน ในทำนองเดียวกันถ้าฉันต้องการทำการตัดกันเชิงตรรกะหลาย ๆ จุดฉันสามารถใช้&=แทนได้&&หรือไม่?

7
มีคำอธิบายสำหรับตัวดำเนินการแบบอินไลน์ใน“ k + = c + = k + = c;” หรือไม่
คำอธิบายสำหรับผลลัพธ์จากการดำเนินการต่อไปนี้คืออะไร? k += c += k += c; ฉันพยายามทำความเข้าใจผลลัพธ์ผลลัพธ์จากรหัสต่อไปนี้: int k = 10; int c = 30; k += c += k += c; //k=80 instead of 110 //c=70 และตอนนี้ฉันกำลังพยายามทำความเข้าใจว่าทำไมผลลัพธ์ของ "k" จึงเป็น 80 ทำไมการกำหนด k = 40 จึงไม่ทำงาน (จริงๆแล้ว Visual Studio บอกฉันว่าไม่มีการใช้ค่านั้นที่อื่น) ทำไม k 80 ถึงไม่ใช่ 110? ถ้าฉันแยกการดำเนินการเป็น: k+=c; c+=k; …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.