JS 执行环境与执行堆叠 DAY48

执行环境(Execution context)
http://img2.58codes.com/2024/20123039EtgKS1bhpO.jpg

我们上一篇有提到
若在 callMe 宣告任何变数
其作用域都会限制在此函式(callMe)内
注意
若没有执行此函式
不会有任何变数产生
执行环境也不会产生 只有 "函式被执行" 的时候 执行环境才会产生(请牢记!!)

若 callme 此函式不断执行
则会一直产生执行环境

执行环境

限制作用域this

除了函式会产生执行环境
当然
全域也有属于自己的全域执行环境
网页一开启 或是后端nodeJS一开启 就建立执行环境
http://img2.58codes.com/2024/20123039G8tAcU9OOf.jpg

http://img2.58codes.com/2024/20123039MSw8GbjNce.jpg
此 window 为全域变数

http://img2.58codes.com/2024/20123039M7vyS7FPW5.jpg
当然 目前这里的 this 也会跟 window 一样(属于全域执行环境)
但这里的 this 会因执行环境而有所不同


执行堆叠(Execution stack)

http://img2.58codes.com/2024/20123039KNTgzYHHRJ.jpg

这里堆叠的方式
是与函式呼叫的位置有关

当离开也会是一层一层离开
(sayHi --> doSomething --> 全域执行环境 )

可按下 F12 在 Sources 观看 Call Stack 的流程
那今天的介绍就到这里啦
明天将介绍 範围鍊 与 提升 (重要!!!!)
若有任何问题 或 内容有误
请别吝啬的跟我说唷http://img2.58codes.com/2024/emoticon41.gif


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章