Higher-order functions: A function that takes other function(s) as arguments, or returns a function as its result.
Callback function: A function that is passed into another function as an argument. It’s being “called back” by the higher-order function.
Closure: global variables can be made local or private using closures. A closure gives you access to an outer function’s scope from an inner function.