const myName = '华山小宇'//第一个函数
function printName() {
console.log(myName)//第二个函数
}
printName()//调用第二个函数
程序输出结果:
华山小宇 其实上面这个打印名字的函数就是闭包。闭包的本质就是:闭包让你可以在一个内层函数中访问到其外层函数的作用域。第一个函数定义了myName的值,为什么我们在第二个函数中可以把myName打印出来?要知道,我们调用第二个函数的时候并没有给他传入任何参数,我们没有这样调用:
printName(myName)
不加参数也能得到一样的结果:
printName()
这就是闭包。