Skip to content

Instantly share code, notes, and snippets.

@neall
Last active August 29, 2015 13:59
Show Gist options
  • Save neall/10652565 to your computer and use it in GitHub Desktop.
Save neall/10652565 to your computer and use it in GitHub Desktop.
Take a method that depends on "this" and wrap it in a function call you can pass around. Also includes optional currying.
Object.defineProperty(Object.prototype, 'methToFunc', {
value: function(methodName) {
var method = this[methodName];
if (typeof method === 'function') {
var curryArgs = [].slice.call(arguments, 1);
var that = this;
return function() {
return method.apply(that, curryArgs.concat(arguments));
};
} else {
return function() {
return method;
};
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment