每天一个前端小知识10——闭包

总结

避免变量被污染、私有化、保存变量常驻内存

代码

<!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>

猜你喜欢

转载自blog.csdn.net/qq_33591873/article/details/128355817