Files
pjax/lib/polyfills/Function.prototype.bind.js

21 lines
667 B
JavaScript
Raw Normal View History

if (!Function.prototype.bind) {
2014-10-14 11:42:36 +02:00
Function.prototype.bind = function(oThis) {
if (typeof this !== "function") {
// closest thing possible to the ECMAScript 5 internal IsCallable function
throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable")
}
var aArgs = Array.prototype.slice.call(arguments, 1)
2014-10-14 11:42:36 +02:00
var that = this
var Fnoop = function() {}
var fBound = function() {
return that.apply(this instanceof Fnoop && oThis ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments)))
}
2014-10-14 11:42:36 +02:00
Fnoop.prototype = this.prototype
fBound.prototype = new Fnoop()
return fBound
}
}