19 lines
610 B
JavaScript
19 lines
610 B
JavaScript
if (typeof Function.prototype.bind != 'function') {
|
|
Function.prototype.bind = function bind(obj) {
|
|
var args = Array.prototype.slice.call(arguments, 1),
|
|
self = this,
|
|
nop = function() {
|
|
},
|
|
bound = function() {
|
|
return self.apply(
|
|
this instanceof nop ? this : (obj || {}), args.concat(
|
|
Array.prototype.slice.call(arguments)
|
|
)
|
|
);
|
|
};
|
|
nop.prototype = this.prototype || {};
|
|
bound.prototype = new nop();
|
|
return bound;
|
|
};
|
|
}
|