curry化、setTimeout
function curry(fn){ var args = [], self = this; setTimeout(function(){ fn.apply(self,args); },0); return function(){ Array.prototype.push.apply(args,arguments); return arguments.callee; } } curry(console.log)(1)(2,3)(4)(5);
非同期になってしまうので、よくない。