Using bind for partial application without affecting the receiver
如果要部分应用某个函数,可以使用
我想使用
1 | myFunction.bind(iDontWantThis, arg1); // I dont want to affect the receiver |
partial application using
bind without affecting the receiver
那不可能
1 2 3 4 5 6 7 8 9 | Function.prototype.partial = function() { if (arguments.length == 0) return this; var fn = this, args = Array.prototype.slice.call(arguments); return function() { return fn.apply(this, args.concat(Array.prototype.slice.call(arguments))); }; }; |
当然,这种功能在许多库中也是可用的,例如。 下划线,Lodash,Ramda等。但是没有本地等效项。