DEV Community

Cover image for Types of Functions
Rakshambika
Rakshambika

Posted on

Types of Functions

1.Named Function:

  • A function is created using the function keyword with a name.

Syntax:

function functionName() {
    // code
}
Enter fullscreen mode Exit fullscreen mode

Example:

// Named Function

function addition(a,b,c)
{
    console.log(a+b+c);
}

addition(40,20,40);
Enter fullscreen mode Exit fullscreen mode

Output:

100
Enter fullscreen mode Exit fullscreen mode

2.Function Expression

  • A function is stored inside a variable.

Syntax:

let variableName = function() {
    // code
};
Enter fullscreen mode Exit fullscreen mode

Example:

// Function expression

let greet=function(){
    console.log("Hello");
};

greet();
Enter fullscreen mode Exit fullscreen mode

Output:

Hello
Enter fullscreen mode Exit fullscreen mode

3.Arrow Function:

  • A shorter way to write functions.

Syntax:

const functionName = () => {
    // code
};
Enter fullscreen mode Exit fullscreen mode

Example:

const multiply=(a,b)=>{
    console.log(a*b);
}

multiply(10,20);
Enter fullscreen mode Exit fullscreen mode

Output:

200
Enter fullscreen mode Exit fullscreen mode

Arrow Function With One Parameter:

Example:

const square = num => num * num;

console.log(square(5));
Enter fullscreen mode Exit fullscreen mode

Output:

25
Enter fullscreen mode Exit fullscreen mode

Parentheses are optional when there is only one parameter.


4.Immediately Invoked Function Expression (IIFE):

  • A function that is created and executed immediately.

Syntax:

(function() {
    //code
})();
Enter fullscreen mode Exit fullscreen mode

Example:

(function() {
    console.log("Hello");
})();
Enter fullscreen mode Exit fullscreen mode

Output:

Hello
Enter fullscreen mode Exit fullscreen mode

Top comments (2)

Collapse
 
jonrandy profile image
Jon Randy 🎖️

Function expression and storing a function in a variable are two different things

Collapse
 
raksha_murugesan profile image
Rakshambika

Yes, they're related concepts, but they aren't the same thing.