【无标题】

闭包

闭包:定义在一个函数内部的函数
本质:让父作用域成为永恒作用域
作用:
1.可以访问父函数中的变量
2.可以锁住父函数中的变量

可以访问父函数中的变量

  function parent() {
    var name = 'parent'
    function child() {
      console.log(name);//可以拿到name,打印parent
    }
    child()
  }
  parent()

在parent函数中还有一个child函数,在以前的学习中我们了解到声明在函数中的变量是局部变量,不能被其他作用域拿到,但在闭包函数中,内部函数可以拿到外部函数的变量,这就是可以访问父函数中的变量

可以锁住父函数中的变量

var btn = document.getElementsByTagName('button')[0]

  btn.onclick = function () {
    var num = 0
    return function () {
      num++
      this.innerHTML = `点击${num}`
    }
  }()

这是一个简单的点击按钮并根据点击次数改变按钮上的数字的功能,在闭包函数中onclick方法点击后运行的是内部的闭包方法,return后的内容是一个函数,所以调用函数需要在外部的方法后再次进行调用,这次的调用是调用的return后的函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值