Function.apply( ) | 将函数作为一个对象的方法调用 |
可用性
JavaScript 1.2; JScript 5.5; ECMAScript v3
语法
function.apply(thisobj, args)
参数
-
thisobj
-
调用function的对象。在函数主体中,thisobj是关键字this的值。
args
-
一个数组,它的元素是要传递给函数function的参数值。
返回值
调用函数function的返回值。
抛出
-
TypeError
-
如果调用该函数的对象不是函数,或参数args不是数组和Arguments对象,则抛出该异常。
描述
apply()将指定的函数function作为对象thisobj的方法来调用,传递给它的是存放在数组args中的参数,返回的是调用function的返回值。在函数体内,关键字this引用thisobj对象。
参数args必须是数组或Arguments对象。如果想单独指定传递给函数的参数,而不是指定数组元素,请使用Function.call()方法。
示例
// 在对象上应用默认的Object.toString()方法, / /该对象用该方法的版本覆盖了它。注意,没有参数 Object.prototype.toString.apply(o); //使用数组中用来查找最大元素的方法来调用Math.max() // 注意本例中第一个参数没有什么作用 var data = [1,2,3,4,5,6,7,8]; Math.max.apply(null, data);