JavaScript 闭包

什么是闭包?

简单理解:闭包=内层函数+外层函数的变量。正如前面所说的作用域链也会涉及到闭包,如下:

复制代码
let a = 6;//全局作用域
function f() {
    a = 7;//父级作用域
    function d(){
        a = 8;//自己的作用域
        console.log(a);
    }
    d();
}
f();
复制代码

 闭包的官方概念:一个函数对周围状态的引用捆绑到一起,内层函数中访问到其外层函数的作用域。

闭包的作用:封闭数据,提供操作,外部也可以访问函数内部的变量。

闭包的写法:

复制代码
// 闭包:外部可以使用函数内部的变量
function outer(){
    let a = 10;
    function fn() {
        console.log(a);
    }
    return fn
}
const fun = outer()
fun()
复制代码

上述代码,outer是一个闭包,其本身直接将子函数fn的值返回过来,此时并没与调用,知识单纯的返回值。

我们直接在全局作用域中就可以调用子函数fn

posted @   洛飞  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2020-09-27 MySQL备份
点击右上角即可分享
微信分享提示