7 ms·
Not exactly the same signature, but can handle arbitrary number of calls. var say = (function() { var savedArgs = []; return (function recurse () {
by jaysoo 16y ago
Not exactly the same signature, but can handle arbitrary number of calls.
var say = (function() {
var savedArgs = [];
return (function recurse () {
if (arguments.length) {
for (var i=0, arg; arg=arguments[i]; i++) {
savedArgs.push(arg);
}
return recurse;
} else {
alert(savedArgs.join(' '));
savedArgs = [];
}
});
})();
// e.g. say('Hello')('World')('!!')();
// --> alerts "Hello World !!"