位置: 编程技术 - 正文

谈谈我对JavaScript原型和闭包系列理解(随手笔记8)(谈谈我对美国的印象)

编辑:rootadmin

推荐整理分享谈谈我对JavaScript原型和闭包系列理解(随手笔记8)(谈谈我对美国的印象),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:谈谈我对美国的印象,谈谈我对教师的理解,谈谈我对视觉传达的认识,谈谈我对教师的理解,谈谈我对中国传统文化的理解,谈谈我对中国传统文化的理解,谈谈我对教师的理解,谈谈我对环境保护的认识,内容如对您有帮助,希望把文章链接给更多的朋友!

在上篇文章给大家介绍了《谈谈我对JavaScript原型和闭包系列理解(随手笔记6)》, 谈谈我对JavaScript原型和闭包系列理解(随手笔记9) 可以点击了解详情。

执行上下文栈

执行全局代码时,会产生一个执行上下文环境,每次调用函数都又会产生执行上下文环境。当函数调用完成时,这个上下文环境以及其中的数据都会被消除,再重新回到全局上下文环境。处于活动状态的执行上下文环境只有一个。

压栈出栈过程----执行上下文栈:

1、在执行之前,首先创建全局上下文环境

2、代码执行,执行到bar()之前,全局上下文中的变量在执行过程中被赋值。

3、执行到bar()调用bar函数,同时创建该函数内部的执行上下文环境

4、这时候该执行上下文环境进行压栈,设置为活动状态

谈谈我对JavaScript原型和闭包系列理解(随手笔记8)(谈谈我对美国的印象)

5、bar函数执行到fn(x + b),调用fn函数,创建了fn函数的执行上下文,并压栈,设置为活动状态

6、fn函数执行完毕,fn环境出栈,被销毁,释放内存,bar函数变为活动态

7、fn函数执行完毕并销毁,意味着bar也执行完毕了,此时bar函数环境出栈,并销毁。全局环境变为活动态。

到这里这一段代码的执行过程就完毕了。

根据原作者的描述:

其中上下文环境的变量赋值过程我省略了许多,因为那些并不难,一看就知道。

的确!代码的大概执行过程跑完后,就能很清楚的知道各个执行环境中的变量是个怎样的状态。

讲到这里,我不得不很遗憾的跟大家说:其实以上我们所演示的是一种比较理想的情况。有一种情况,而且是很常用的一种情况,无法做到这样干净利落的说销毁就销毁。这种情况就是伟大的——闭包。要说闭包,咱们还得先从自由变量和作用域说起。

以上内容是小编给大家分享我对JavaScript原型和闭包系列理解(随手笔记8),希望大家喜欢。

谈谈我对JavaScript原型和闭包系列理解(随手笔记9) 相关阅读:谈谈我对JavaScript原型和闭包系列理解(随手笔记6)谈谈我对JavaScript原型和闭包系列理解(随手笔记8)作用域引用《JavaScript语言精粹和编程实践

基于JS2Image实现圣诞树代码 马上圣诞节了,作为一名程序猿,如何体现自己独特的过节风格,如何在朋友圈发一张专属自己的祝福照片我觉得很有必要,你们说是不是。谈到圣诞

JS实现部分HTML固定页面顶部随屏滚动效果 本文实例讲述了JS实现部分HTML固定页面顶部随屏滚动效果。分享给大家供大家参考,具体如下:我们经常在淘宝网看到这样的特效,商品列表特别长,

本文链接地址:https://www.jiuchutong.com/biancheng/385538.html 转载请保留说明!

上一篇:js中flexible.js实现淘宝弹性布局方案(flexable.js)

下一篇:谈谈我对JavaScript原型和闭包系列理解(随手笔记9)(谈谈我对中国传统文化的理解)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络