List of utility methods to do Function Clone
Function.prototype.clone = function() { var that = this; var newFunc = function() { return that.apply(this, arguments); }; for (var i in this) { newFunc[i] = this[i]; return newFunc; ...