闭包的应用--沙箱模式

沙箱模式是一种设计模式,旨在解决变量私有化后的访问和操作问题。通过闭包,将所有函数和属性封装在一个内部函数中,实现安全的隔离与操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

沙箱模式:
设计模式的一种 为了解决特定问题给出的简洁而优化的解决方案.
主要解决变量私有化以后的访问和操作.

使用:利用闭包,把所有的函数或者属性都放在一个函数内部.

function fn() {
      var num = 100
      var str = 'hello world'

      function inner1() {
        console.log('我是 inner1 函数')
      }

      // 间接返回一个函数
      return {
        getNum: function () {
          return num
        },
        setNum: function (val) {
          num = val
        }
      }
    }

    // res 接收的是 ? 一个对象, 对象里面有函数, 对象里面的函数, 使用着外部函数的变量
    const res = fn()

    // 你想拿到 fn 函数内部的 100
    console.log(res.getNum())
    // 利用闭包函数修改 fn 函数内部的私有变量 num
    res.setNum(200)
    // 当我再次利用 getNum 闭包函数去访问 fn 里面得 num 的时候
    console.log(res.getNum())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值