什么是闭包

97 阅读1分钟
const myName  = '华山小宇'//第一个函数

function printName() {
    console.log(myName)//第二个函数
}
printName()//调用第二个函数

程序输出结果:

华山小宇 其实上面这个打印名字的函数就是闭包。闭包的本质就是:闭包让你可以在一个内层函数中访问到其外层函数的作用域。第一个函数定义了myName的值,为什么我们在第二个函数中可以把myName打印出来?要知道,我们调用第二个函数的时候并没有给他传入任何参数,我们没有这样调用:

    printName(myName)

不加参数也能得到一样的结果:

    printName()

这就是闭包。