Computer >> Máy Tính >  >> Lập trình >> Javascript

Closures trong JavaScript là gì?

Sự đóng lại trong JavaScript cho phép chúng ta truy cập phạm vi hàm bên ngoài từ hàm bên trong ngay cả sau khi hàm bên ngoài đã thực thi và trả về. Điều này có nghĩa là hàm bên trong sẽ luôn có quyền truy cập vào biến hàm bên ngoài.

Sau đây là mã cho các bao đóng trong JavaScript -

Ví dụ

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
   body {
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   }
   .result {
      font-size: 20px;
      font-weight: 500;
   }
</style>
</head>
<body>
<h1>JavaScript Closures</h1>
<div style="color: green;" class="result"></div>
<button class="Btn">CLICK HERE</button>
<h3>Click on the above button to add two numbers using closure</h3>
<script>
   let sampleEle = document.querySelector(".sample");
   let resEle = document.querySelector(".result");
   function add(num) {
      return function add1(num1) {
         resEle.innerHTML += `${num}+${num1} = ${num + num1}`;
      };
   }
   document.querySelector(".Btn").addEventListener("click", () => {
      let storeadd = add(99);
      storeadd(44);
   });
</script>
</body>
</html>

Đầu ra

Closures trong JavaScript là gì?

Khi nhấp vào nút 'BẤM VÀO ĐÂY' -

Closures trong JavaScript là gì?