4. Pass functions as parameters into
other functions
function shalom() {
return ‘Shalom’;
}
function sayToConsole(someGreeting) {
console.log(someGreeting());
}
sayToConsole(shalom);
5. Functions can return functions
function sayToConsole(greeting) {
return function(message) {
console.log( greeting + ‘ ‘ + message);
}
}
var greetBobAndSay = sayToConsole(‘Hi Bob!’);
greetBobAndSay(‘I have fantastic pants’);
7. Instead of this
function add(x,y) {
return x + y;
}
for(var i = 0; i < 6 ; i++) {
console.log(add(5,i));
}
8. You could do this
function add(x) {
return function(y) {
return x + y;
}
}
var add5To = add(5);
for(var i = 0; i < 6 ; i++) {
console.log(add5To(i));
9. Or use underscore/lodash/
function add(x,y) {
return x + y;
}
var add5To = _.partial(add,5);
for(var i = 0; i < 6 ; i++) {
console.log(add5To(i));
}
[other functional library here]