Uzávěry JavaScriptu | Základní kód

Uzavření JavaScriptu vám umožňuje přístup k rozsahu vnější funkce z vnitřní funkce. Uzávěry se často používají v JavaScriptu pro soukromí dat objektů, v obslužných rutinách událostí a funkcích zpětného volání a v dílčích aplikacích, currying a dalších funkčních programovacích vzorcích.

function init() {
  var name = 'Mozilla'; // name is a local variable created by init
  function displayName() { // displayName() is the inner function, a closure
    alert(name); // use variable declared in the parent function
  }
  displayName();
}
init();

Zdroj :developer.mozilla.org

Příklad uzavření jazyka JavaScript

Jednoduchý příklad přístupu kódu k vnějšímu rozsahu funkce zevnitř vnitřní funkce, i když se vnější funkce zavře.

<!DOCTYPE html>
<html>
<body>
  <script>    
   function hello() {

    // variable defined in inner function
    let name = 'John';

    // inner function
    function displayName() {

        // accessing name variable
        return 'Hi' + ' ' + name;
        
      }

      return displayName;
    }

    const h = hello();
    console.log(h); // returns the function definition
    console.log(h()); // returns the value
  </script>  

</body>
</html>

Výstup :

Další příklad

function greeting(message) {
   return function(name){
        return message + ' ' + name;
   }
}
let sayHi = greeting('Hi');
let sayHello = greeting('Hello');

console.log(sayHi('John')); // Hi John
console.log(sayHello('John')); // Hello John

Napište komentář, pokud máte nějaké pochybnosti nebo návrhy k tomuto tématu funkce Js.

Poznámka: Všechny příklady kódů JS jsou testovány v prohlížečích Firefox a Chrome.

OS:Windows 10

Kód:HTML 5 verze