เมื่อคุณเรียกใช้ฟังก์ชันใน JavaScript คุณสามารถส่งผ่านอาร์กิวเมนต์จำนวนเท่าใดก็ได้ ไม่มีการจำกัดพารามิเตอร์ของฟังก์ชัน นอกจากนี้ยังหมายความว่าฟังก์ชันไม่สามารถโอเวอร์โหลดได้ด้วยวิธีดั้งเดิมใน js
วัตถุอาร์กิวเมนต์เป็นตัวแปรท้องถิ่นที่มีอยู่ในฟังก์ชันที่ไม่ใช่ลูกศรทั้งหมด คุณสามารถอ้างถึงอาร์กิวเมนต์ของฟังก์ชันภายในฟังก์ชันนั้นได้โดยใช้อ็อบเจ็กต์อาร์กิวเมนต์ มีรายการสำหรับแต่ละอาร์กิวเมนต์ที่เรียกใช้ฟังก์ชัน โดยดัชนีของรายการแรกเป็น 0
ตัวอย่างเช่น หากฟังก์ชันถูกส่งผ่าน 3 อาร์กิวเมนต์ คุณสามารถเข้าถึงได้ดังนี้ −
arguments[0] // first argument arguments[1] // second argument arguments[2] // third argument
หมายเหตุ − อาร์กิวเมนต์เป็นอ็อบเจกต์คล้ายอาร์เรย์ที่สามารถเข้าถึงได้ภายในฟังก์ชันที่มีค่าของอาร์กิวเมนต์ที่ส่งผ่านไปยังฟังก์ชันนั้น “เหมือนอาร์เรย์” หมายความว่าอาร์กิวเมนต์มีคุณสมบัติความยาวและคุณสมบัติที่จัดทำดัชนีจากศูนย์ แต่ไม่มีวิธีการในตัวของ Array เช่น forEach() และ map()
ตัวอย่างเช่น หากต้องการรับจำนวนอาร์กิวเมนต์ตามอำเภอใจ คุณสามารถสร้างฟังก์ชันได้ดังนี้ −
ตัวอย่าง
function printAllArguments(a, b) { console.log("First arg: " + a) console.log("Second arg: " + b) console.log("All args: " + arguments) } printAllArguments(1) printAllArguments(1, "hello") printAllArguments(1, "hello", 1, "hello")
ผลลัพธ์
First arg: 1 Second arg: undefined All args: {"0":1} First arg: 1 Second arg: hello All args: {"0":1,"1":"hello"} First arg: 1 Second arg: hello All args: {"0":1,"1":"hello","2":1,"3":"hello"}