Creates a new function.
Calls the function, substituting the specified object for the this value of the function, and the specified array for the arguments of the function.
Calls a method of an object, substituting another object for the current object.
For a given function, creates a bound function that has the same body as the original function. The this object of the bound function is associated with the specified object, and has the specified initial parameters.
toString(): string
Returns a string representation of a function.