---
title: "Explain the difference between \"call\", \"apply\", and \"bind\" methods in JavaScript."  
description: "Explain the difference between \"call\", \"apply\", and \"bind\" methods in JavaScript."  
author: "Revati S Misra"  
published: 2023-05-15  
updated: 2023-05-16  
canonical: https://www.mindstick.com/forum/158339/explain-the-difference-between-call-apply-and-bind-methods-in-javascript  
category: "javascript"  
tags: ["javascript", "javascript events", "javascript object"]  
reading_time: 2 minutes  

---

# Explain the difference between "call", "apply", and "bind" methods in JavaScript.

[Explain the difference](https://www.mindstick.com/forum/156125/can-you-explain-the-difference-between-organic-and-paid-results) between the "call", "[apply](https://www.mindstick.com/articles/13148/discover-to-apply-make-up-like-a-professional-supermodel)", and "bind" [methods](https://www.mindstick.com/articles/13060/runny-nose-remedy-methods-that-work-best) in JavaScript.

## Replies

### Reply by Aryan Kumar

The call(), apply(), and bind() methods in JavaScript are used to change the value of the this keyword within a function. The this keyword refers to the object that the function is called on. By changing the value of this, you can make the function behave as if it were called on a different object.

The call() method takes two arguments: the first argument is the value of this, and the second argument is an array of arguments to be passed to the function. For example, the following code calls the myFunction() function with the window object as this and the value 1 as the only argument:

Code snippet

```javascript
window.myFunction.call(window, 1);
```

The apply() method is similar to the call() method, but it takes an array of arguments instead of a single argument. For example, the following code calls the myFunction() function with the window object as this and the values 1 and 2 as the two arguments:

Code snippet

```javascript
window.myFunction.apply(window, [1, 2]);
```

The bind() method creates a new function that has the specified value of this. The new function can then be called like any other function. For example, the following code creates a new function that has the window object as this and then calls the new function:

Code snippet

```plaintext
const myBoundFunction = window.myFunction.bind(window);
myBoundFunction();
```

The main [difference](https://www.mindstick.com/articles/157114/good-news-or-bad-news-and-the-difference-is) between the call(), apply(), and bind() methods is how they take arguments. The call() method takes the value of this and an array of arguments, the apply() method takes an array of arguments and the value of this, and the bind() method takes the value of this and returns a new function.

Here is a table summarizing the differences between the call(), apply(), and bind() methods:

| Method | Arguments | Description |
| --- | --- | --- |
| call() | this value, array of arguments | Calls the function with the specified value of this and the specified arguments. |
| apply() | Array of arguments, this value | Calls the function with the specified value of this and the specified arguments. |
| bind() | this value | Returns a new function with the specified value of this. |


---

Original Source: https://www.mindstick.com/forum/158339/explain-the-difference-between-call-apply-and-bind-methods-in-javascript

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
