今天聊聊闭包,网上五花八门的定义和解释很多很多,是不是搞得你很懵逼;每次看闭包,都不同,本来自己懂,看完别人的之后就开始怀疑自己了。在我看来,闭包简单的说就是函数里面套函数,再往大了说就是我函数外面想知道你函数里面的变量。怎么知道?我在你函数内部再写个函数2,把我想要得到的值获取到函数2中;然后我在函数外面在获取函数2中的值,完事,函数2就成了闭包。废话多了,直接开讲
要理解闭包,首先要知道js特殊变量和作用域
1、变量的作用域
变量的作用域有什么?局部变量、全局变量
js的特殊之处就是函数内部可以获取全局变量,
var a = 'shizhikai'; function func(){ console.log(a) } func() ;//控制台打印 shizhikai