闭包的语法糖

语法糖:
使用起来很方便,但看起来不舒服.
闭包的语法糖:getter 获取器 和 setter 设置器
**作用:**把制作闭包想做的事情,伪装成一个对象内部的成员.
语法:

  1. 要形成闭包
  2. 返回值是一个对象
  3. 在对象里面以getter 和 setter的语法形式返回函数
{
	get 函数名(){},
	set 函数名(){}
}
function fn() {
      var num = 100
      return {
        getNum () {
          return num
        },
        setNum (val) {
          num = val
        }
      }
    }

    const res = fn()
    console.log(res.getNum())
    res.setNum(300)
    console.log(res.getNum())


    function fun() {
      var num = 100

      return {
        get num() {
          return num
        },
        set num(val) {
          num = val
        }
      }
    }

    // res 接收的还是 fun 里面返回的对象
    // 对象里面除了有 getNum 函数
    // 还把 getNum 作为一个成员存储起来了
    //   把 getNum 的返回值作为 getNum 这个成员的值使用
    // 把原先的 getNum 函数作为了获取器的存在

    // 对象里面会有一个 setNum 设置器
    // 当你给 setNum 设置器赋值的时候, 就是在调用 setNum 函数, 传递参数
    const res2 = fun()
    console.log(res2.num)
    res2.num = 300 // 相当于原先的 res2.setNum(300)
    console.log(res2.num)

    console.log(res2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值