JavaScript เทียบเท่ากับวิธีการขยายของ jQuery
พื้นหลัง ฉันมีฟังก์ชันที่ใช้configวัตถุเป็นอาร์กิวเมนต์ ภายในฟังก์ชันฉันยังมีdefaultวัตถุ แต่ละออบเจ็กต์เหล่านั้นมีคุณสมบัติที่ทำงานเป็นการตั้งค่าสำหรับส่วนที่เหลือของโค้ดภายในฟังก์ชัน เพื่อป้องกันไม่ให้ระบุการตั้งค่าทั้งหมดภายในconfigออบเจ็กต์ฉันใช้extendวิธีการของ jQuery เพื่อกรอกข้อมูลในวัตถุใหม่settingsด้วยค่าเริ่มต้นใด ๆ จากdefaultวัตถุหากไม่ได้ระบุไว้ในconfigวัตถุ: var config = {key1: value1}; var default = {key1: default1, key2: default2, key 3: default 3}; var settings = $.extend(default, config); //resulting properties of settings: settings = {key1: value1, key2: default2, key 3: default 3}; ปัญหา ใช้งานได้ดี แต่ฉันต้องการสร้างฟังก์ชันนี้ซ้ำโดยไม่ต้องใช้ jQuery มีวิธีการที่สง่างามเท่าเทียมกัน (หรือใกล้เคียงกับ) …