JavaScript has been described as a Functional Oriented Language (this as opposed to Object Oriented Language). The reason is because functions in JavaScript do more than just separate logic into execution units, functions are first class citizens that also provide scopeL1 and the ability to create objects. Having such a heavy reliance upon functions is both a blessing and a curse: It's a blessing