宝哥软件园

JavaScript函数范围链分析

编辑:宝哥软件园 来源:互联网 时间:2021-10-13

本文对JavaScript函数范围链进行了分析。分享给大家参考。具体分析如下:

范围链:

JavaScript的每个函数函数都有自己的作用域,由Active Object(简称AO)保存,嵌套函数中形成作用域链,如下图所示:

范围链是从内到外的AO链。

变量的搜索:

如果函数fn3中使用的变量在fn3作用域中找不到,那么它将在外层的fn2作用域中找到,以此类推,直到全局对象窗口。

代码演示如下:

var c=5;函数t1(){ var d=6;函数T2(){ var e=7;var d=3;//如果这里声明了var d=3,//那么函数不会向外寻找变量d,输出值为15 console . log(c d e);} T2();} t1();了解JavaScript范围链后,最好在操作前将外部变量保存为局部变量,这样就大大减少了通过范围链搜索变量的时间。

希望这篇文章对你的javascript编程有所帮助。

更多资讯
游戏推荐
更多+