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.

**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));

`