Function Declaration:
You can define a function using the function keyword. Parameters are optional, and the code inside the curly braces is the function’s body.
Function Expression:
Function expressions create anonymous functions and assign them to variables. They can be named as well.
Arrow Functions:
Arrow functions provide a more concise syntax for function expressions, especially when the function body is a single expression.
Function Invocation:
You can invoke (call) a function by using its name followed by parentheses. Arguments are passed inside the parentheses.
Return Statement:
Functions can return a value using the return statement. If no return statement is present, the function returns undefined
Parameters and Arguments:
Parameters: These are placeholders in the function declaration.
Scope:
Functions have their own scope, and variables defined inside a function are typically not accessible outside of it.
Anonymous Functions:
Functions can be created without a name. They are often used as arguments to other functions or for immediate invocation.
Callback Functions:
Functions can be passed as arguments to other functions. These are known as callback functions.
Function Hoisting:
Function declarations are hoisted in JavaScript, meaning they can be called before they are declared in the code.