Function expressions

Function Expression Function Declaration
A Function Expression is created when the execution reaches it and is usable only from that moment. A Function Declaration can be called earlier than it is defined.
When a Function Expression is within a code block, it’s visible everywhere. In strict mode, when a Function Declaration is within a code block, it’s visible everywhere inside that block. But not outside of it.