One front-end knowledge every day 10 - closure

Summarize

Avoid variable pollution, privatization, and save variable resident memory

the code

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>闭包</title>
</head>

<body>

</body>

<script>
  // 闭包处理私有数据
  let dealNum = function () {
    
    
    let privateNum = 0
    function changeNum(val) {
    
    
      privateNum += val
    }
    return {
    
    
      increment: function () {
    
    
        changeNum(1)
      },
      decrement: function () {
    
    
        changeNum(-1)
      },
      value: function () {
    
    
        return privateNum
      }
    }
  }

  let a = dealNum()
  // a.changeNum(1) // 报错

  a.increment() // 1
  console.log(a.value())
</script>

</html>

Guess you like

Origin blog.csdn.net/qq_33591873/article/details/128355817
Recommended