分为 调用子函数 和 嵌套函数 的情况
1、嵌套函数,在函数调用的时候会生成作用域链,作用域链的最上层为最里层变量,全局在最底层,当用到变量的时候会从作用域链中从上往下查找。就是相当于就近原则。
![](https://img.haomeiwen.com/i11593087/71a9e4379360f2df.jpg)
2、调用子函数,就如下图的代码,该代码的输出是0因为在f()函数调用时创建了一个参数作用域链,在f()里面logV()调用时又创建了一个作用域链,都是两层。
![](https://img.haomeiwen.com/i11593087/3d67d95aad85e467.jpg)
emmm
手写的代码,看着蛮不方便🤣。因为今天没带电脑出门呀,就将就看着吧~
![](https://img.haomeiwen.com/i11593087/ddc2cf22464dfb24.jpg)
分为 调用子函数 和 嵌套函数 的情况
1、嵌套函数,在函数调用的时候会生成作用域链,作用域链的最上层为最里层变量,全局在最底层,当用到变量的时候会从作用域链中从上往下查找。就是相当于就近原则。
2、调用子函数,就如下图的代码,该代码的输出是0因为在f()函数调用时创建了一个参数作用域链,在f()里面logV()调用时又创建了一个作用域链,都是两层。
emmm
手写的代码,看着蛮不方便🤣。因为今天没带电脑出门呀,就将就看着吧~
本文标题:作用域链(2018-04-24)
本文链接:https://www.haomeiwen.com/subject/uilslftx.html
网友评论