JavaScript Function Definitions
Last Updated :
25 Nov, 2024
JavaScript functions are declared using the function keyword, either as a declaration or expression. Declarations define named functions, while expressions assign functions to variables. Both enable code reuse and modularity.
Syntax
Function Declarations
function functionName( parameters ) {
// Statements
};
Function Expressions
let variableName = function( parameter ) {
// Statements
};
Function Constructor
let FunctionName = new Function("parameter", "return parameter");
let variableName = FunctionName(values);
Parameter: It contains single parameter functionName which is mandatory and used to specify the name of function.
Examples of JavaScript Function Definitions
Example: This example we demonstrates a function declaration named myFunction, which multiplies two numbers.
JavaScript
function multiply(num1, num2) {
return num1 * num2;
}
let num = multiply(40, 3);
console.log(num);
Example 2: This example describes a function expression assigned to num, multiplying two numbers.
JavaScript
let multiply = function(num1, num2) {
return num1 * num2;
};
console.log(multiply(20, 30));
Example 3: This example describes a function expression created with the Function constructor, multiplying two numbers and displaying the result in a paragraph element.
JavaScript
let multiply = new Function(
"num1",
"num2",
"return num1 * num2"
);
console.log(multiply(25, 4));
Function Hoisting
Function hoisting moves function declarations to the top of their scope, allowing them to be used before declaration. Function expressions are not hoisted.
Example: Defining function hoisting by invoking a function before its declaration, displaying a welcome message from GeeksForGeeks.
JavaScript
myFunction();
function myFunction() {
console.log("Welcome to GeeksForGeeks");
}
OutputWelcome to GeeksForGeeks
Self-Invoking Functions
Self-invoking functions execute automatically upon creation, without a name. Function expressions followed by () execute immediately, while function declarations cannot be invoked directly.
Example: Defining a self-invoking function that sets content in a paragraph element, showcasing its execution upon creation.
JavaScript
(function () {
console.log("GeeksForGeeks is the best way to learn");
})();
OutputGeeksForGeeks is the best way to learn
Functions are Objects
It can describe functions as objects and have both properties and methods.
- When define function as property of an object then it is known as method to the object.
- When design a function to create new objects then it is known as object constructor.
Example: Using arguments object to count the number of arguments passed to a function.
JavaScript
function myFunction(num1, num2) {
return arguments.length;
}
console.log(myFunction(4, 3));
Arrow Functions
Arrow functions simplify writing function expressions by providing a concise syntax without the need for the function keyword, return keyword, or curly brackets.
Example: Defining an arrow function to multiply two numbers and displays the result using JavaScript.
JavaScript
const num = (num1, num2) => num1 * num2;
console.log(num(5, 5));