ในจาวาสคริปต์เมื่อใช้คำสั่ง if ที่มีเงื่อนไขหลายอย่างในการทดสอบจาวาสคริปต์จะทดสอบทั้งหมดหรือไม่หรือจะประกันตัวก่อนทดสอบทั้งหมดหากเป็นเท็จอยู่แล้ว
ตัวอย่างเช่น:
a = 1
b = 2
c = 1
if (a==1 && b==1 && c==1)
จาวาสคริปต์จะทดสอบเงื่อนไขทั้ง 3 เงื่อนไขเหล่านั้นหรือหลังจากเห็นว่า b ไม่เท่ากับ 1 ดังนั้นจึงเป็นเท็จมันจะออกจากคำสั่งหรือไม่
ฉันถามจากมุมมองด้านประสิทธิภาพ ตัวอย่างเช่นหากฉันกำลังทดสอบตัวเลือก jQuery ที่ซับซ้อน 3 ตัวฉันไม่อยากให้ jQuery สำรวจ DOM 3 ครั้งหากเห็นได้ชัดจากอันแรกที่จะส่งคืน FALSE (ซึ่งในกรณีนี้มันสมเหตุสมผลกว่าที่จะซ้อนคำสั่ง 3 if)
เพิ่มเติม: อยากรู้อยากเห็นมากขึ้นคำที่เหมาะสมสำหรับสิ่งนี้คืออะไร? ฉันสังเกตว่าหลาย ๆ ท่านใช้คำว่า 'ไฟฟ้าลัดวงจร' นอกจากนี้บางภาษาทำเช่นนี้และบางภาษาไม่ทำเช่นนี้