JavaScript Function Definitions (original) (raw)
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"); }
`
Output
Welcome 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"); })();
`
Output
GeeksForGeeks 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));
`