Function Overloading เกิดขึ้นเมื่อฟังก์ชันทำงานต่างกันตามจำนวนอาร์กิวเมนต์ที่ส่งเข้า
Best Practice: อย่าตรวจสอบ Type ของพารามิเตอร์ เพราะทำให้โค้ดช้าลง ควรหลีกเลี่ยง ตัวเลือกคือให้พารามิเตอร์ตัวสุดท้ายเป็น Object
นอกจากนี้ อย่าตรวจสอบ Argument Length ด้วย
ตัวอย่าง
function display(a, b, value) { }
display(30, 15, {"method":"subtract"});
display(70, 90, {"test":"equals", "val":"cost"});