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"
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
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
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.
No comments:
Post a Comment