Ambos te permiten invocar una función.
La diferencia es que
apply te deja invocar la función utilizando los argumentos como un arreglo.
call requiere que los parámetros sean listados explícitamente.
function miFuncion(nombre, edad, profesion){
console.log("Hola, mi nombre es "+ nombre + ", tengo " + edad + " años y mi profesión es " + profesion);
console.log("Por cierto, el valor de this es: " + this);
}
miFuncion("Yves", 25, "Ingeniero en computación");
miFuncion.apply(undefined, ["Aplicantino", 10, "Aplicante"]);
miFuncion.call(undefined, "Callantino", 20, "Caller");
Tip:
apply =
arreglo
call =
columna de argumentos