2018-05-09作用域

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)
}()

只要在结尾()的函数是个表达式 都可以立即被执行

你可能感兴趣的:(2018-05-09作用域)