Functions, Closures, and Recursion in JavaScript


  Functions are reusable blocks of code in JavaScript.Closures and recursion are key concepts for creating advanced and efficient logic.


Syntax:


  These are the fundamental concepts with examples:

  • Higher-order functions: These are functions that receive or return other functions.

    
    function calcular(operacion, a, b) {
      return operacion(a, b);
      }
      
      function suma(a, b) {
        return a + b;
        }
        
        console.log(calcular(suma, 5, 3)); // Output: 8
        


  • Closures: A function that retains access to its original lexical scope even after that scope has finished.

    
    function crearContador() {
      let contador = 0;
      return function() {
        contador++;
        return contador;
        };
        }
        
        const miContador = crearContador();
        console.log(miContador()); // Output: 1
        console.log(miContador()); // Output: 2
        


  • Recursion: A technique where a function calls itself to solve repetitive problems.

    
    function factorial(n) {
      if (n === 0) {
        return 1;
        }
        return n * factorial(n - 1);
        }
        
        console.log(factorial(5)); // Output: 120
        


Purpose:

  • Use functions to structure logic and solve complex problems.
  • Create advanced programming patterns with closures and higher-order functions.
  • Implement repetitive and simplified logic through recursion.


Exercises



The rest of the content is available only for registered and premium users!



Which concept allows a function to remember the scope where it was created?



JavaScript Concepts and Reference

What do closures do in JavaScript? What are the JavaScript commands and their functions? What are closure functions in JavaScript? What are the most used functions in JavaScript?