Name
Function.apply() — invoke a function as a method of an object
Synopsis
function
.
apply
(
thisobj
,
args
)
Arguments
thisobj
The object to which
function
is to be applied. In the body of the function,thisobj
becomes the value of thethis
keyword. If this argument isnull
, the global object is used.args
An array of values to be passed as arguments to
function
.
Returns
Whatever value is returned by the invocation of
function
.
Throws
TypeError
If this method is invoked on an object that is not a function or if this method is invoked with an
args
argument that is not an array or an Arguments object.
Description
apply()
invokes the
specified function
as if it were a method
of thisobj
, passing it the arguments
contained in the args
array. It returns
the value returned by the function invocation. Within the body of
the function, the this
keyword
refers to the thisobj
object.
The args
argument must be an array
or an Arguments object. Use Function.call()
instead if you want to
specify the arguments to pass to the function individually instead
of as array elements.
Example
// Apply the default Object.toString() method to an object that
// overrides it with its own version of the method. Note no arguments.
Object
.
prototype
.
toString
.
apply
(
o
);
// Invoke the Math.max() method with apply to find the largest
// element in an array. Note that first argument doesn't matter
// in this case.
var
data
=
[
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
];
Math
.
max
.
apply
(
null
,
data
);
See Also
Get JavaScript: The Definitive Guide, 6th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.