What is the difference between a Function Declaration and Function Expression

Can someone tell me what the difference is between a function declaration and function expression?

Simply speaking,

declaration is when functions are initialized with function keyword.
Expression is when function can be stored into a variable.

Look at this resource.