首页 > 代码库 > 前端闭包

前端闭包

 对于进入前端这么长时间的我,现在才总结这个问题,也是渣渣了,不过亡羊补牢,犹未晚矣。

一、闭包的含义

外部函数包含一个内部函数,内部函数能够访问外部函数的变量。

说到闭包,我们先了解一下js中变量的作用域和作用域链;

js中有两种变量:局部变量和全局变量;

js的特殊之处是函数具有自己的函数块级作用域,函数在自己的作用域内能够访问外部的全局变量,可是函数外部不能访问函数内部的局部变量。

因此,这个时候要怎么让外部访问函数内部的变量?闭包的作用来了。

 

二、闭包的作用

1、让函数外部能够读取到函数内部的变量;换个说法,间接作用就是建立私有作用域,防止全局环境的污染;

2、让变量的值一直保存在内存中,有些时候,比如需要利用函数进行计数,而不需要清零的情况可以用到;

 

前端闭包