1:作用域链:
-作用域链会被保存到一个隐式属性中[[scope]]中,这个属性我们访问不到,但存在。它是让js引擎访问的,里面存储的就是作用域链AO GO. 也可以说AO和Go的集合
作用域链详解
 var global
        function a() {
            //    进来以后,首先看到的是a自己的ao,然后才是全局go
            function b() {
                //进来以后,首先看到的是b自己的ao,下部才是a的ao,然后才是全局go
                var bb = 123;
                aa = 0
            }
            var aa = 234
            b()
        }
        a() //执行完,a的ao到b的ao到全局的go的关联被斩断
复制代码闭包底层原理
  //    闭包:内部函数被保存到外部
        function a() {
            var aa = 123
            function b() {
                var bb = 234
                console.log(aa);
            }
            return b
        }
        var res = a()
        res()
复制代码当a执行完后,a与作用域链联系断裂,但是b此时没有与作用域链失联,他还是可以执行,可以看到a函数的ao。因为b函数出生的时候,a函数的ao就被b拿到了

以上就是作用域链和闭包的底层原理,这篇文,稍稍用心都应该能看懂。不懂得请在评论里自由讨论。
关于闭包更多请关注下一篇
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
    






















![[桜井宁宁]COS和泉纱雾超可爱写真福利集-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/4d3cf227a85d7e79f5d6b4efb6bde3e8.jpg)

![[桜井宁宁] 爆乳奶牛少女cos写真-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/d40483e126fcf567894e89c65eaca655.jpg)
