1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| /**
| * Slice reference.
| */
|
| var slice = [].slice;
|
| /**
| * Bind `obj` to `fn`.
| *
| * @param {Object} obj
| * @param {Function|String} fn or string
| * @return {Function}
| * @api public
| */
|
| module.exports = function(obj, fn){
| if ('string' == typeof fn) fn = obj[fn];
| if ('function' != typeof fn) throw new Error('bind() requires a function');
| var args = slice.call(arguments, 2);
| return function(){
| return fn.apply(obj, args.concat(slice.call(arguments)));
| }
| };
|
|