En JavaScript uno de los temas mas importantes es el del manejo de contexto, es uno de los temas mas importantes cuando empezamos a hacer aplicaciones serias en JavaScript.
Dos utilidades muy importantes para el manejo de contexto son Call y Apply, ambas suelen ser bastante difĂciles de explicar pero este video lo hace muy bien.
Para hacer un resumen del video, call y apply sirven exactamente para los mismo, setear el contexto en el que se va a ejecutar una function.
Call se utiliza cuando pasamos cada uno de los elementos de contexto como un parametro en la llamada y apply cuando queremos setear los elementos del contexto con un solo parametro que es un array que contiene los elementos del contexto a setear.
Mas info
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/call
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/apply
Los dejo con el video
JavaScript: call and apply from The JavaScript Playground on Vimeo.