if (!Function.prototype.bind) {
Function.prototype.bind = function (oThis) {
if (typeof this !== 'function') {
throw new TypeError('not function');
}
var aArgs = Array.prototype.slice.call(arguments,1),
fToBind = this,
fNOP = function () {},
fBound = function () {
return fToBind.apply(
this instanceof fNOP?this:oThis,
aArgs.concat(Array.prototype.slice.call(arguments))
);
}
fNOP.prototype = this.prototype;
fBound.prototype = new fNOP();
return fBound;
}
}
网友评论