I came across following (cleaned up) code and trying to understand what exactly is going on. I'm generally aware that bind function accepts this paramete, first parameter acts as argument etc. Also read the documents on mdn about how call/apply methods behave. However I'm having hard time understanding following syntax
var eObject = Object,
DeObject_bind = eObject.bind,
neObject_call = eObject.call,
object_call = neObject_call.bind(DeObject_bind, neObject_call),
reObject_apply = eObject.apply,
object_apply = object_call(reObject_apply)
What exactly is happening here? For example it seems like object_call is bound with this set to Object.bind. What does this achieve? Same for apply - what exactly is happening?