javascript中闭包是什么

原创 年树先生 随笔 前端面试 9239阅读 22 天前 举报

javascript中闭包是什么

javascript中闭包是什么

JavaScript 变量可以是局部变量或全局变量。私有变量可以用到闭包。闭包就是将函数内部和函数外部连接起来的一座桥梁。

函数的闭包使用场景:比如我们想要一个函数来执行计数功能。

如果设计全局变量

在浏览器调用 add();//值为2

问题是如何当我们设计另外一个方法时用到需要counter这个变量,我们在进行修改无疑会改变counter的初始值如下

我们此时在调用add() 值就是6 所以设置counter变量为全局变量的时候我们调用函数会得到不想要的值;

所以我们需要函数外部可以读取函数变量内部的值,下面就对函数进行了私有化 在 JavaScript 中,所有函数都能访问它们上一层的作用域

JavaScript 支持嵌套函数。嵌套函数可以访问上一层的函数变量。

该实例中,内嵌函数 plus() 可以访问父函数的 counter 变量

闭包的写法

函数的立即执行()() 及函数的声明和函数的执行放在一起

这就是闭包的最终格式

调用plus() ;

闭包就是将函数内部和函数外部连接起来的一座桥梁。
全栈开发交流群:864305860.png

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复