X

X

X

JavaScript Function Apply


The JavaScript apply() Method

The apply() method is similar to the call() method:

Example

var person = {
firstName:”John”,
lastName: “Doe”,
fullName: function() {
return this.firstName + ” ” + this.lastName;
}
}
var myObject = {
firstName:”Mary”,
lastName: “Doe”,
}
person.fullName.apply(myObject);  // Will return “Mary Doe”

Try it Yourself »



 The Difference Between call() and apply()

The only difference is:

call() takes any function arguments separately.

apply() takes any function arguments as an array.

The apply() method is very handy if you want to use an array instead of an argument list.

If you want to obtain the largest number in a list of numbers you can use the Math.max() method:

Example

Math.max(1,2,3);  // Will return 3

Try it Yourself »

Since JavaScript arrays do not have a max() method, you can apply the Math.max() instead.

Example

Math.max.apply(null,[1,2,3]); // Will also return 3

Try it Yourself »


The Value of this

In JavaScript strict mode, the first argument becomes the value of this in the invoked function, even if the argument is not an object.

In “non-strict” mode, if the value of the first argument is null or undefined, it is replaced with the global object.