编辑这个页面须要登录或更高权限!

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();
测试看看‹/›

JavaScript菜鸟教程
JavaScript 对象
JavaScript 函数
JS HTML DOM
JS 浏览器BOM
AJAX 菜鸟教程
JavaScript 参考手册