//Functions
If function is note declared and is passed to a variable the variable will return Undefined.
It reduces the repetition of Code --Parameter when declaring a function -default parameters -rest parameters --Arguments when calling a function
--3 ways of declaring a function (arrow functions)
---Nested Functions ---Scope of afunction ---closure --high order Function(HOD) *takes one or more functions *May return a function
--pure function --impure Function A pure function has the same output from same input --imedietely invoked function exapresion(IIFE) *wHEN WE WANT TO IMEDIETELY CALL A FUNCTION AFTER WE HAVE DECLARED IT ---Call Stack ---Recursion Function *A Fuction that calls itself *Must have a base condition