Cita:
Iniciado por matake [...]aunque si lo del call() me suena haberlo visto pero me olvide de el[...]
Básicamente, la diferencia entre un método y otro está en los argumentos que reciben. El primer argumento es el mismo, el cual será el
this
en la función. El segundo argumento en el método
.apply()
, es un array con los argumentos que recibirá la función, mientras que en el método
.call()
, dichos argumentos tienen que ir en la misma lista de argumentos de la llamada al método.
Código Javascript
:
Ver original//Método .apply()
funcion.apply(argThis, [arg1, arg2, argN]);
//Método .call()
funcion.call(argThis, arg1, arg2, argN);
Y desde la implementación del estándar ECMAScript 5, también se puede pasar un objeto literal o una lista de nodos (
Cuarto párrafo).
Un saludo