Методи call
Методи call барои даъват кардани функсия
бо контексти муайянкардашуда иҷозат медиҳад. Параметри якуми
метод бояд контексти функсия бошад,
ва параметрҳои дигар - параметрҳои функсия бошанд.
Синтаксис
функсия.call(контеқст, параметр1, параметр2...);
Намуна
Бигзор мо як инпут дорем:
<input id="elem" value="матн">
Бигзор ҳамчунин функсияе дода шудааст, ки се параметр мегирад:
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);