Explain higher order functions in JavaScript.

JavaScript treats functions as objects and allow us to pass functions as parameter to another function and even return functions from other functions. In JavaScript the functions are first class functions meaning we can store them in variable, objects and array. The higher order functions can take function, return them or do both.

Following is the code for higher order functions on JavaScript.


 Live Demo

<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
   body {
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   .result,.sample {
      font-size: 18px;
      font-weight: 500;
      color: rebeccapurple;
   .result {
      color: red;
<h1>Higher order functions in JavaScript</h1>
<div class="sample">[22,33,44,55]</div>
<br />
<div class="result"></div>
<br />
<button class="Btn">CLICK HERE</button>
<h3>Click on the above button to double each element of the above array</h3>
   let resEle = document.querySelector(".result");
   let BtnEle = document.querySelector(".Btn");
   function doubleNum(ele) {
      return ele * 2;
   let arr = [22, 33, 44, 55];
   function doubleArray(arr, fn) {
      let doubleArr = [];
      arr.forEach((element) => {
      return doubleArr;
   BtnEle.addEventListener("click", () => {
      resEle.innerHTML = "New array = " + doubleArray(arr, doubleNum);


The above code will produce the following output −

On clicking the ‘CLICK HERE’ button −