The call() and apply() methods in JavaScript are used to invoke functions with a specified this value.
- call(): accepts arguments individually when invoking a function.
- apply(): accepts arguments as an array when invoking a function.
call() Method
It calls the method, taking the owner object as an argument. The keyword this refers to the 'owner' of the function or the object it belongs to. We can call a method that can be used on different objects.
<body style="text-align:center;">
<h1 style="color:green;">
GeeksForGeeks
</h1>
<h3>call() method</h3>
<button onClick="fun()">
click
</button>
<p id="GFG"></p>
<!-- Script to use call() method to call
function -->
<script>
function fun() {
let p = {
fullName: function(addr1, addr2) {
return this.fName + " " + this.lName
+ ", " + addr1 + ", " + addr2;
}
}
let p1 = {
fName:"GFGfName",
lName: "GFGlName",
}
let x = p.fullName.call(p1, "India", "USA");
document.getElementById("GFG").innerHTML = x;
}
</script>
</body>
Syntax:
object.objectMethod.call( objectInstance, arguments )JavaScript apply() Method
The apply() method is used to write methods, which can be used on different objects. It is different from the function call() because it takes arguments as an array.
<body style="text-align:center;">
<h1 style="color:green;">
GeeksForGeeks
</h1>
<h3>JavaScript apply() method</h3>
<button onClick="fun()">
click
</button>
<p id="GFG"></p>
<script>
function fun() {
let p = {
fullName: function(addr1, addr2) {
return this.fName + " " + this.lName
+ ", " + addr1 + ", " + addr2;
}
}
let p1 = {
fName:"GFGfName",
lName: "GFGlName",
}
let x = p.fullName.apply(p1, ["India", "USA"]);
document.getElementById("GFG").innerHTML = x;
}
</script>
</body>
Syntax:
object.objectMethod.apply(objectInstance, arrayOfArguments)Let us understand differences in a tabular form
JavaScript call() Method | JavaScript apply() Method |
|---|---|
| It is used to write such a method that can be used on different objects. | It is used to write methods, which can be used on different objects |
| It is a Predefined Method in JavaScript. | Its return value is the result of the calling function along provided this value and arguments. |
| It is used for an object to use a method that belongs to a different object. | We can use a list with this function instead of the array |
| This method can also accept parameters. | This method takes the parameter as an array |

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
