First we will decide what is the difference between method and function:
Function Call () and Apply ():-
The above function named as Call () and Apply () allows an object to use other methods object. This save us from having duplicates methods in several objects.
Syntax for using Call () and Apply ():
Function.call (thisArg[, arg1[, arg2[, arg3[,…]]]])
There are scenarios when we will be using call and apply functions; call function is best suited when we know the argument in advance. On the other hand apply function is used for methods when we do not know the argument and argument list can vary.