闭包的概念与运用

闭包的理解

  1. 函数作用域

在js中,一个函数要执行时就会在内存里创建一个独立作用域,在该作用域里可以对变量进行操作,跳出该函数作用域,在全局里就找不到该变量

而闭包的出现就解决了在全局里也可以访问到函数作用域内部的变量

  1. 内存回收

内存回收是指用不到的内存空间进行清理

function(){

    var b=2;

    return function(){

    console.log(b)

        }

        }

在如图的闭包里b在内部的function里被引用就意味着被使用,因此不会对该变量或对象进行回收

  1. 作用域继承

在上图中,对于外部函数(大盒子)它无法访问内部函数(小盒子),但小盒子却可以无限次的访问外部函数的作用域,是一种继承的关系。大盒子不可以访问小盒子,小盒子可以一直访问大盒子

  1. 什么是闭包

在函数中定义一个函数,这个内部函数一直保持对外部函数作用域的访问,这样就可以一直保持私有变量不受干扰,这种模式就称为闭包

  1. 闭包的作用

通过一系列方法使得函数内部的变量(局部变量)转化为全局变量

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值