callメソッド
メソッド call は、指定されたコンテキストで関数を呼び出すことを可能にします。
メソッドの最初のパラメータは関数のコンテキストを指定し、
残りのパラメータは関数の引数となります。
構文
関数.call(コンテキスト, パラメータ1, パラメータ2...);
例
次のような入力要素があるとします:
<input id="elem" value="text">
また、3つのパラメータを受け取る関数があるとします:
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);