Function.prototype.bind||(Function.prototype.bind=function(oThis){if("function"!=typeofthis)thrownewTypeError("Function.prototype.bind - what is trying to be bound is not callable");varaArgs=Array.prototype.slice.call(arguments,1),fToBind=this,fNOP=function(){},fBound=function(){returnfToBind.apply(thisinstanceoffNOP?this:oThis,aArgs.concat(Array.prototype.slice.call(arguments)))};returnthis.prototype&&(fNOP.prototype=this.prototype),fBound.prototype=newfNOP,fBound});