函数f1执行完后局部变量n不是应该销毁了吗,为什么在执行函数rs时输出的结果还会是999呢,不应该是undefined吗
登陆购买课程后可参与讨论,去登陆吧
同学你好,即使fn2里面没有使用n,f1执行完之后,局部变量n也不会被销毁。因为全局变量rs保存了对f2的引用,可以理解为f1函数的执行环境一直被引用,所以它内部的变量n不会被销毁。
祝学习愉快~
同学你好, 正常情况函数执行完,函数内部局部变量就会被销毁,但是截图中的代码,函数f1执行完之后,将返回的结果f2函数赋值给rs,全局变量rs保存了对f2的引用,导致f1执行完之后,无法销毁局部变量n,所以调用rs时相当于调用f2函数,f2函数内部访问n,最终弹出结果是999
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。
37 3
22 4
78 1
80 1
56 1
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星