var five = num(5); var one = num(1); console.log(five(plus(one()))); //6 function plus(arg){ return function(arg2){ return arg + arg2; } } function num(val){ return function(func){ if (func === undefined){ return val; } return func(val); } }