nstance]() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/@@hasInstance)
    2. [ ` Function.prototype.apply() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply)
    3. [ ` Function.prototype.bind() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind)
    4. _[ ` Function.prototype.call() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call) _
    5. [ ` Function.prototype.toString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/toString)
  6. **Inheritance**
  7. **[ ` Object ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object) **
  8. Properties 
    1. [ ` Object.prototype.constructor ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor)
    2. [ ` Object.prototype.__proto__ ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto) Deprecated 
  9. Methods 
    1. [ ` Object.prototype.__defineGetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__) Deprecated 
    2. [ ` Object.prototype.__defineSetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineSetter__) Deprecated 
    3. [ ` Object.prototype.__lookupGetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupGetter__) Deprecated 
    4. [ ` Object.prototype.__lookupSetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupSetter__) Deprecated 
    5. [ ` Object.prototype.hasOwnProperty() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty)
    6. [ ` Object.prototype.isPrototypeOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf)
    7. [ ` Object.prototype.propertyIsEnumerable() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable)
    8. [ ` Object.prototype.toLocaleString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString)
    9. [ ` Object.prototype.toString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString)
    10. [ ` Object.prototype.valueOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf)

##  In this article

  * Try it 
  * Syntax 
  * Description 
  * Examples 
  * Specifications 
  * Browser compatibility 
  * See also 

#  Function.prototype.call()

The **` call() ` ** method of [ ` Function ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Function) instances calls this
function with a given ` this ` value and arguments provided individually.

##  Try it

##  Syntax

js

    
    
    call(thisArg)
    call(thisArg, arg1)
    call(thisArg, arg1, arg2)
    call(thisArg, arg1, arg2, /* â¦, */ argN)
    

###  Parameters

` thisArg `

    

The value to use as ` this ` when calling ` func ` . If the function is not in
[ strict mode ](/en-US/docs/Web/JavaScript/Reference/Strict_mode) , [ ` null `
](/en-US/docs/Web/JavaScript/Reference/Operators/null) and [ ` undefined `
](/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined) will be
replaced with the global object, and primitive values will be converted to
objects.

` arg1 ` , â¦, ` argN ` Optional

    

Arguments for the function.

###  Return value

The result of calling the function with the specified ` this ` value and
arguments.

##  Description

**Note:** This function is almost identical to [ ` apply() ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply) , except that
the function arguments are passed to ` call() ` individually as a list, while
for ` apply() ` they are combined in one object, typically an array â for
example, ` func.call(this, "eat", "bananas") ` vs. ` func.apply(this, ["eat",
"bananas"]) ` .

Normally, when calling a function, the value of [ ` this ` ](/en-
US/docs/Web/JavaScript/Reference/Operators/this) inside the function is the
object that the function was accessed on. With ` call() ` , you can assign an
arbitrary value as ` this ` whe