เมธอด call

เมธอด call ช่วยให้สามารถเรียกใช้ฟังก์ชัน พร้อมบริบทที่กำหนดได้ พารามิเตอร์แรก ของเมธอดควรระบุบริบทของฟังก์ชัน และพารามิเตอร์ที่เหลือคือพารามิเตอร์ของฟังก์ชัน

ไวยากรณ์

javascriptฟังก์ชัน.call(บริบท, พารามิเตอร์1, พารามิเตอร์2...);

ตัวอย่าง

สมมติว่าเรามีอินพุต:

html<input id="elem" value="text">

สมมติว่ามีฟังก์ชันที่รับพารามิเตอร์สามตัว:

javascriptfunction func(param1, param2, param3) {
  console.log(this.value + param1 + param2 + param3);
}

มาเรียกใช้ฟังก์ชันของเราดังนี้ เพื่อให้ this ภายในฟังก์ชันเท่ากับอินพุตของเรา และ พร้อมกับส่งตัวเลข 1, 2 และ 3 เป็นพารามิเตอร์ให้กับฟังก์ชัน:

javascriptlet elem = document.querySelector('#elem');
func.call(elem, 1, 2, 3);

ตัวอย่าง

สมมติว่าฟังก์ชันไม่รับพารามิเตอร์:

javascriptfunction func() {
  console.log(this.value);
}

ในกรณีนี้ เมื่อเรียกใช้ฟังก์ชันนี้ผ่าน call ก็เพียงพอที่จะส่งเพียงพารามิเตอร์แรก ซึ่งเป็นบริบท:

javascriptlet elem = document.querySelector('#elem');
func.call(elem);

ดูเพิ่มเติม

  • เมธอด apply,
    ซึ่งเรียกใช้ฟังก์ชันพร้อมบริบท
  • เมธอด bind,
    ซึ่งเชื่อมโยงบริบทกับฟังก์ชัน