English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript基礎トレーニング

JavaScriptオブジェクト

JavaScript関数

JSHTMLDOM

JSブラウザBOM

AJAX基本トレーニング

JavaScriptリファレンスマニュアル

JavaScript ファンクションの適用

apply()メソッドは指定されたthis値を使用して関数を呼び出し、引数を配列(または配列に似たオブジェクト)の形で提供します。

let numbers = [5, 6, 2, 3, 7];
let max = Math.max.apply(null, numbers);
document.write(max);
テストして見て‹/›

call()とapply()の違い

call()メソッドはそれぞれの引数を別々に受け取ります。

apply()メソッドは引数を配列

配列を使用する場合、apply()メソッドは非常に便利です。

apply()と組み込み関数を使用する

巧みに使用することで、apply()を使用して、配列の値をループして書き換える必要があるタスクに内蔵関数を適用することができます。

例として、Math.maxを使用します/ Math.minを使用して配列の最大値を取得する/最小値。

let numbers = [5, 6, 2, 3, 7];
let max = Math.max.apply(null, numbers);
let min = Math.min.apply(null, numbers);
for(let i = 0; i < numbers.length; i++) {
   if(numbers[i] > max) {
 max = numbers[i];
   }
   if(numbers[i] < min) {
 min = numbers[i];
   }
}
document.write(min, "<br>", max);
テストして見て‹/›

パラメータを指定せずに apply() を使用して関数を呼び出す

以下の例では、パラメータを渡さずに display ファンクションを呼び出しました:

var name = "Seagull";
function display() {
  document.write(this.name);
}
display.apply();
テストして見て‹/›