闭包作用域链定义

1、自执行函数
(function(){

})()
自执行函数可以模仿块级作用域
js中没有块级作用域
if(true){
    var a = 3
}
console.log(a);

2、闭包
函数里面套函数
缺点:容易内存泄漏

3、作用域链
window.alert(2233);
var a1 = 3;
var a = 4;
window.a

function fn(){
    var a = 1
    console.log(a)
       function fn1(){
           var b =2
           function fn3(){
               var c =3
           }
       }
       function fn2(){
           var d =4
       }
}

对于fn fn自己的执行环境》window
fn1的作用域链 fn1>fn>window
fn3 fn3>fn1>fn>window
fn2 fn2>fn>window

作用域链是在函数定义的时候决定的,不是调用的时候

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容