1.函数的属性 [[scope]]
function a(){
function b(){
}
}
a()
a defined a.[[scope]]-->0 :GO
a donothing a.[[scope]]-->0:aAO
b defined b.[[scope]]-->0 :aAO
-->1:Go
b doing b.[[scope]]-->0 :bAO
-->1:aAO
-->2:GO
2.闭包的作用
闭包能够使用公有变量 可以做缓存 实现私有变量 实现模块化开发,避免污染全局变量
3.立即执行函数(IIFE)
针对初始化功能的函数
只能被表达式执行
+ function() {
console.log(111)
}()
只要在结尾()的函数是个表达式 都可以立即被执行