【javaScript基础】执行上下文
栏目: JavaScript · 发布时间: 5年前
内容简介:执行上下文栈,也就是每个函数都有自己的执行环境。当进入一个执行环境时,该执行环境就会被推入一个环境栈中。而执行完当前执行环境,环境栈就会将当前执行环境弹出,把控制权返回给之前的执行环境。在环境栈弹出某个执行环境时,该环境会被销毁,包括保存在其中所有定义的变量和函数。全局执行环境直到应用退出才会被销毁,例如关闭网页或浏览器。
执行上下文栈,也就是 环境栈 。全局执行环境是最外围的一个执行环境。在Web浏览器中,全局环境被认为是window对象。
var a = 1; // 全局执行环境 function fn () {}; fn(); // fn执行环境 复制代码
每个函数都有自己的执行环境。当进入一个执行环境时,该执行环境就会被推入一个环境栈中。而执行完当前执行环境,环境栈就会将当前执行环境弹出,把控制权返回给之前的执行环境。
在环境栈弹出某个执行环境时,该环境会被销毁,包括保存在其中所有定义的变量和函数。全局执行环境直到应用退出才会被销毁,例如关闭网页或浏览器。
执行环境也叫执行上下文环境,环境栈也就是执行上下文栈。
var a = 3; // 1.进入全局上下文环境 var fn = function () { var b = 5; var y = bar(a + b); // 3.进入函数bar上下文环境 console.log(y); } var bar = function (c) { return c; } fn(2); // 2.进入函数fn上下文环境 复制代码
1、在上述代码中,首先进入全局上下文环境。执行fn函数时,压栈并进入fn上下文环境。
2、在fn函数中,执行bar函数,压栈并进入bar执行环境。此时fn没有被销毁,因为还没执行结束。
3、bar函数执行结束,出栈并销毁bar上下文环境。回到fn执行环境。
4、fn函数执行完毕,出栈并销毁fn上下文环境。把控制权返回给全局上下文环境。
以上所述就是小编给大家介绍的《【javaScript基础】执行上下文》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Ajax Design Patterns
Michael Mahemoff / O'Reilly Media / 2006-06-29 / USD 44.99
Ajax, or Asynchronous JavaScript and XML, exploded onto the scene in the spring of 2005 and remains the hottest story among web developers. With its rich combination of technologies, Ajax provides a s......一起来看看 《Ajax Design Patterns》 这本书的介绍吧!
SHA 加密
SHA 加密工具
RGB HSV 转换
RGB HSV 互转工具