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 მეთოდი,
    რომელიც კონტექსტს ფუნქციას უკავშირებს