การผูกบริบทด้วยเมธอด apply ใน JavaScript
ตอนนี้เรามาพิจารณาเมธอด apply
สำหรับการผูกบริบทกัน มันทำงานเกือบจะ
เหมือนกับเมธอด call ความแตกต่างอยู่ที่
การที่ apply ส่งพารามิเตอร์ใน
รูปแบบของอาร์เรย์ แทนที่จะแจกแจงด้วยเครื่องหมายจุลภาค
ขึ้นอยู่กับงาน บางครั้งก็สะดวกที่จะใช้
อันหนึ่ง บางครั้งก็สะดวกที่จะใช้อีกอัน
นี่คือตัวอย่างการส่งพารามิเตอร์ในเมธอด apply:
func.apply(elem, [param1, param2]);
สมมติว่ามีโค้ดต่อไปนี้:
<input id="elem" value="hello">
let elem = document.querySelector('#elem');
function func(surname, name) {
console.log(this.value + ', ' + surname + ' ' + name);
}
func(); // ตรงนี้ควรแสดงผล 'hello, John Smit'
เพิ่มเมธอด apply ในบรรทัดสุดท้าย
เพื่อให้แสดงผลบนหน้าจอเป็น 'hello,
John Smit' คำว่า 'hello' ต้อง
นำมาจาก value ของอินพุต และ 'John'
กับ 'Smit' ต้องเป็นพารามิเตอร์ของฟังก์ชัน