applyメソッド
メソッド apply は、指定されたコンテキストで関数を呼び出すことを可能にします。
メソッドの最初のパラメータとして関数のコンテキストを指定し、
2番目として関数のパラメータの配列を指定します。
構文
関数.apply(コンテキスト, パラメータの配列);
例
以下の入力フィールドがあるとします:
<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.apply(elem, [1, 2, 3]);
例
関数がパラメータを受け取らない場合:
function func() {
console.log(this.value);
}
この場合、 apply を通じてこの関数を呼び出すとき、
コンテキストを持つ最初のパラメータのみを渡せば十分です:
let elem = document.querySelector('#elem');
func.apply(elem);