js静态作用域的功能。

时间:2021-05-26

JS的作用域是个比较复杂的东西

JS的作用域是静态的,当定义一个function时,function的作用域是定义function时所在的作用域,而不是调用function时所在的作用域。

当调用一个function时,就会创建一个新的作用域,在这个作用域中用var定义的变量就是局部变量,一般情况下function执行结束之后这个调用时所创建的作用域就会被系统回收。

在function圈套定义时,如果里面定义的function被保存了下来(如:赋给一个全局变量)。那么它所在的作用域(调用外面function时所创建的作用域)也必须一起保存下来(也就是说外面function执行结束时这个调用时所创建的作用域不会被系统回收,要等到保存下来的function被系统回收时系统一起回收)。
作用域保存下来在这个作用域中的所有局部变量当然也都保存了下来。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章