Function.prototype.bind2 = function(context) { const self =this const arg1 = [].slice.call(arguments,1) return function() { const arg1 = [].slice.call(arguments) const args = arg1.concat(arg2) self.apply(context,args) } }