เมธอด call
เมธอด call ช่วยให้สามารถเรียกใช้ฟังก์ชัน
พร้อมบริบทที่กำหนดได้ พารามิเตอร์แรก
ของเมธอดควรระบุบริบทของฟังก์ชัน
และพารามิเตอร์ที่เหลือคือพารามิเตอร์ของฟังก์ชัน
ไวยากรณ์
ฟังก์ชัน.call(บริบท, พารามิเตอร์1, พารามิเตอร์2...);
ตัวอย่าง
สมมติว่าเรามีอินพุต:
<input id="elem" value="text">
สมมติว่ามีฟังก์ชันที่รับพารามิเตอร์สามตัว:
function func(param1, param2, param3) {
console.log(this.value + param1 + param2 + param3);
}
มาเรียกใช้ฟังก์ชันของเราดังนี้ เพื่อให้ this
ภายในฟังก์ชันเท่ากับอินพุตของเรา และ
พร้อมกับส่งตัวเลข 1,
2 และ 3 เป็นพารามิเตอร์ให้กับฟังก์ชัน:
let elem = document.querySelector('#elem');
func.call(elem, 1, 2, 3);
ตัวอย่าง
สมมติว่าฟังก์ชันไม่รับพารามิเตอร์:
function func() {
console.log(this.value);
}
ในกรณีนี้ เมื่อเรียกใช้ฟังก์ชันนี้ผ่าน
call ก็เพียงพอที่จะส่งเพียงพารามิเตอร์แรก
ซึ่งเป็นบริบท:
let elem = document.querySelector('#elem');
func.call(elem);