Técnicas de ligação JavaScript / CoffeeScript para diferentes ambientes

Suponha que você queira fazer algo semelhante a isto:

# won't work, context is lost here
$
.ajax({
url
: '/foo',
success
: myObj.myMethod
});

Cliente com jQuery:

success: $.proxy(myObj, 'myMethod')

Cliente com sublinhado:

success: _.bind(myObj.myMethod, myObj)

Node.js ou cliente com navegador mais recente:

success: myObj.myMethod.bind(myObj)

Vanilla JS, qualquer navegador:

success: function(){ return myObj.myMethod.apply(myObj, arguments); }

CoffeeScript:

success: -> myObj.myMethod(arguments...)