เมื่อสร้างฟังก์ชั่น JavaScript ที่มีอาร์กิวเมนต์หลายตัวฉันต้องเผชิญหน้ากับตัวเลือกนี้เสมอ: ส่งรายการอาร์กิวเมนต์และส่งผ่านตัวเลือกวัตถุ
ตัวอย่างเช่นฉันกำลังเขียนฟังก์ชั่นเพื่อแมป nodeList ไปยังอาร์เรย์:
function map(nodeList, callback, thisObject, fromIndex, toIndex){
...
}
ฉันสามารถใช้สิ่งนี้แทน:
function map(options){
...
}
โดยที่ options เป็นวัตถุ:
options={
nodeList:...,
callback:...,
thisObject:...,
fromIndex:...,
toIndex:...
}
วิธีใดที่แนะนำ มีแนวทางสำหรับการใช้หนึ่งกับอื่น ๆ ?
[อัปเดต] ดูเหมือนจะมีฉันทามติเห็นด้วยกับวัตถุอ็อปชั่นดังนั้นฉันจึงอยากจะเพิ่มความคิดเห็น: เหตุผลหนึ่งที่ฉันถูกล่อลวงให้ใช้รายการอาร์กิวเมนต์ในกรณีของฉันคือพฤติกรรมที่สอดคล้องกับ JavaScript สร้างขึ้นในวิธีการ array.map
Array.prototype.map
มี API อย่างง่ายที่ไม่ควรปล่อยให้ coder ที่มีประสบการณ์กึ่งสับสน