JS 闭包
闭包的本质在于“闭”和“包”,即把一些变量封闭起来,使其它程序访问不到,同时把这个封闭的东西打成包甩出来,让大家可以直接用这个包(函数)。最典型的实现之一是对象(或类)的私有成员,如
1 | function MyClass() { |
匿名函数通常只是用于给成员赋值,比如上例中的 getName
和 setName
;也有可能用于立即执行函数,比如你的那段代码,这会将全局变量局部化,避免全局污染。
闭包常常会和匿名函数一起使用,但他们之间并没有密不可分的关系。
闭包的本质在于“闭”和“包”,即把一些变量封闭起来,使其它程序访问不到,同时把这个封闭的东西打成包甩出来,让大家可以直接用这个包(函数)。最典型的实现之一是对象(或类)的私有成员,如
1 | function MyClass() { |
匿名函数通常只是用于给成员赋值,比如上例中的 getName
和 setName
;也有可能用于立即执行函数,比如你的那段代码,这会将全局变量局部化,避免全局污染。
闭包常常会和匿名函数一起使用,但他们之间并没有密不可分的关系。